Changeset 11291
- Timestamp:
- 02/01/12 13:47:42 (13 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 12 edited
- 4 moved
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/Container/DataSet.cpp
r10440 r11291 224 224 dataset->AddObject(tria);} 225 225 break; 226 case Tria VertexInputEnum:{227 Tria VertexInput* triavertexinput=NULL;228 triavertexinput=new Tria VertexInput();226 case TriaP1InputEnum:{ 227 TriaP1Input* triavertexinput=NULL; 228 triavertexinput=new TriaP1Input(); 229 229 triavertexinput->Demarshall(&marshalled_dataset); 230 230 dataset->AddObject(triavertexinput);} 231 231 break; 232 232 #ifdef _HAVE_THREED_ 233 case Penta VertexInputEnum:{234 Penta VertexInput* pentavertexinput=NULL;235 pentavertexinput=new Penta VertexInput();233 case PentaP1InputEnum:{ 234 PentaP1Input* pentavertexinput=NULL; 235 pentavertexinput=new PentaP1Input(); 236 236 pentavertexinput->Demarshall(&marshalled_dataset); 237 237 dataset->AddObject(pentavertexinput);} -
issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h
r11275 r11291 261 261 PenpairEnum, 262 262 PentaEnum, 263 Penta VertexInputEnum,263 PentaP1InputEnum, 264 264 PetscMatParamEnum, 265 265 PetscVecParamEnum, … … 274 274 StringParamEnum, 275 275 TriaEnum, 276 Tria VertexInputEnum,276 TriaP1InputEnum, 277 277 VertexEnum, 278 278 /*}}}*/ -
issm/trunk-jpl/src/c/Makefile.am
r11287 r11291 88 88 ./objects/Inputs/Input.h\ 89 89 ./objects/Inputs/InputLocal.h\ 90 ./objects/Inputs/Tria VertexInput.h\91 ./objects/Inputs/Tria VertexInput.cpp\90 ./objects/Inputs/TriaP1Input.h\ 91 ./objects/Inputs/TriaP1Input.cpp\ 92 92 ./objects/Inputs/BoolInput.h\ 93 93 ./objects/Inputs/BoolInput.cpp\ … … 561 561 ./objects/ElementResults/PentaVertexElementResult.h\ 562 562 ./objects/ElementResults/PentaVertexElementResult.cpp\ 563 ./objects/Inputs/Penta VertexInput.h\564 ./objects/Inputs/Penta VertexInput.cpp\563 ./objects/Inputs/PentaP1Input.h\ 564 ./objects/Inputs/PentaP1Input.cpp\ 565 565 ./objects/Elements/Penta.h\ 566 566 ./objects/Elements/Penta.cpp\ -
issm/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp
r11275 r11291 257 257 case PenpairEnum : return "Penpair"; 258 258 case PentaEnum : return "Penta"; 259 case Penta VertexInputEnum : return "PentaVertexInput";259 case PentaP1InputEnum : return "PentaP1Input"; 260 260 case PetscMatParamEnum : return "PetscMatParam"; 261 261 case PetscVecParamEnum : return "PetscVecParam"; … … 270 270 case StringParamEnum : return "StringParam"; 271 271 case TriaEnum : return "Tria"; 272 case Tria VertexInputEnum : return "TriaVertexInput";272 case TriaP1InputEnum : return "TriaP1Input"; 273 273 case VertexEnum : return "Vertex"; 274 274 case AirEnum : return "Air"; -
issm/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp
r11275 r11291 255 255 else if (strcmp(name,"Penpair")==0) return PenpairEnum; 256 256 else if (strcmp(name,"Penta")==0) return PentaEnum; 257 else if (strcmp(name,"Penta VertexInput")==0) return PentaVertexInputEnum;257 else if (strcmp(name,"PentaP1Input")==0) return PentaP1InputEnum; 258 258 else if (strcmp(name,"PetscMatParam")==0) return PetscMatParamEnum; 259 259 else if (strcmp(name,"PetscVecParam")==0) return PetscVecParamEnum; … … 268 268 else if (strcmp(name,"StringParam")==0) return StringParamEnum; 269 269 else if (strcmp(name,"Tria")==0) return TriaEnum; 270 else if (strcmp(name,"Tria VertexInput")==0) return TriaVertexInputEnum;270 else if (strcmp(name,"TriaP1Input")==0) return TriaP1InputEnum; 271 271 else if (strcmp(name,"Vertex")==0) return VertexEnum; 272 272 else if (strcmp(name,"Air")==0) return AirEnum; -
issm/trunk-jpl/src/c/objects/ElementResults/PentaVertexElementResult.h
r11001 r11291 1 1 /*! \file PentaVertexElementResult.h 2 2 * \brief: header file for penta vertex result object. 3 * this object is just a Penta VertexInput with additional time and step info.3 * this object is just a PentaP1Input with additional time and step info. 4 4 */ 5 5 -
issm/trunk-jpl/src/c/objects/Elements/Penta.cpp
r11273 r11291 347 347 if (!IsOnBed() || IsFloating()){ 348 348 //empty friction: 349 this->inputs->AddInput(new Penta VertexInput(BasalFrictionEnum,&basalfriction[0]));349 this->inputs->AddInput(new PentaP1Input(BasalFrictionEnum,&basalfriction[0])); 350 350 return; 351 351 } … … 375 375 376 376 /*Create PentaVertex input, which will hold the basal friction:*/ 377 this->inputs->AddInput(new Penta VertexInput(BasalFrictionEnum,&basalfriction[0]));377 this->inputs->AddInput(new PentaP1Input(BasalFrictionEnum,&basalfriction[0])); 378 378 379 379 /*Clean up and return*/ … … 523 523 524 524 /*Add Stress tensor components into inputs*/ 525 this->inputs->AddInput(new Penta VertexInput(StressTensorxxEnum,&sigma_xx[0]));526 this->inputs->AddInput(new Penta VertexInput(StressTensorxyEnum,&sigma_xy[0]));527 this->inputs->AddInput(new Penta VertexInput(StressTensorxzEnum,&sigma_xz[0]));528 this->inputs->AddInput(new Penta VertexInput(StressTensoryyEnum,&sigma_yy[0]));529 this->inputs->AddInput(new Penta VertexInput(StressTensoryzEnum,&sigma_yz[0]));530 this->inputs->AddInput(new Penta VertexInput(StressTensorzzEnum,&sigma_zz[0]));525 this->inputs->AddInput(new PentaP1Input(StressTensorxxEnum,&sigma_xx[0])); 526 this->inputs->AddInput(new PentaP1Input(StressTensorxyEnum,&sigma_xy[0])); 527 this->inputs->AddInput(new PentaP1Input(StressTensorxzEnum,&sigma_xz[0])); 528 this->inputs->AddInput(new PentaP1Input(StressTensoryyEnum,&sigma_yy[0])); 529 this->inputs->AddInput(new PentaP1Input(StressTensoryzEnum,&sigma_yz[0])); 530 this->inputs->AddInput(new PentaP1Input(StressTensorzzEnum,&sigma_zz[0])); 531 531 532 532 /*Clean up and return*/ … … 1347 1347 1348 1348 /*create static input: */ 1349 this->inputs->AddInput(new Penta VertexInput(vector_enum,nodeinputs));1349 this->inputs->AddInput(new PentaP1Input(vector_enum,nodeinputs)); 1350 1350 } 1351 1351 else if(M==numberofvertices+1){ … … 1366 1366 1367 1367 if(t==0)transientinput=new TransientInput(vector_enum); 1368 transientinput->AddTimeInput(new Penta VertexInput(vector_enum,nodeinputs),time);1368 transientinput->AddTimeInput(new PentaP1Input(vector_enum,nodeinputs),time); 1369 1369 } 1370 1370 this->inputs->AddInput(transientinput); … … 1420 1420 1421 1421 /*OK, we are on bed. Initialize global inputs as 0*/ 1422 total_thickness_input =new Penta VertexInput(ThicknessEnum,zeros_list);1422 total_thickness_input =new PentaP1Input(ThicknessEnum,zeros_list); 1423 1423 1424 1424 /*Now follow all the upper element from the base to the surface to integrate the input*/ … … 1438 1438 /*If first time, initialize total_integrated_input*/ 1439 1439 if (step==0){ 1440 if (original_input->ObjectEnum()==Penta VertexInputEnum)1441 total_integrated_input=new Penta VertexInput(average_enum_type,zeros_list);1440 if (original_input->ObjectEnum()==PentaP1InputEnum) 1441 total_integrated_input=new PentaP1Input(average_enum_type,zeros_list); 1442 1442 else if (original_input->ObjectEnum()==ControlInputEnum) 1443 total_integrated_input=new Penta VertexInput(average_enum_type,zeros_list);1443 total_integrated_input=new PentaP1Input(average_enum_type,zeros_list); 1444 1444 else if (original_input->ObjectEnum()==DoubleInputEnum) 1445 1445 total_integrated_input=new DoubleInput(average_enum_type,0.0); … … 1454 1454 Helem_list[i+3]=Helem_list[i]; 1455 1455 } 1456 element_thickness_input=new Penta VertexInput(ThicknessEnum,Helem_list);1456 element_thickness_input=new PentaP1Input(ThicknessEnum,Helem_list); 1457 1457 1458 1458 /*Step3: Vertically integrate A COPY of the original*/ … … 1681 1681 for(j=0;j<6;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1682 1682 for(j=0;j<6;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1683 this->inputs->AddInput(new ControlInput(BalancethicknessThickeningRateEnum,Penta VertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));1683 this->inputs->AddInput(new ControlInput(BalancethicknessThickeningRateEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1684 1684 } 1685 1685 break; … … 1689 1689 for(j=0;j<6;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1690 1690 for(j=0;j<6;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1691 this->inputs->AddInput(new ControlInput(VxEnum,Penta VertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));1691 this->inputs->AddInput(new ControlInput(VxEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1692 1692 } 1693 1693 break; … … 1697 1697 for(j=0;j<6;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1698 1698 for(j=0;j<6;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1699 this->inputs->AddInput(new ControlInput(VyEnum,Penta VertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));1699 this->inputs->AddInput(new ControlInput(VyEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1700 1700 } 1701 1701 break; … … 1705 1705 for(j=0;j<6;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]; 1706 1706 for(j=0;j<6;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]; 1707 this->inputs->AddInput(new ControlInput(FrictionCoefficientEnum,Penta VertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));1707 this->inputs->AddInput(new ControlInput(FrictionCoefficientEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1708 1708 } 1709 1709 break; … … 1755 1755 for(i=0;i<num_cm_responses;i++){ 1756 1756 for(j=0;j<6;j++)nodeinputs[j]=iomodel->Data(InversionCostFunctionsCoefficientsEnum)[(penta_vertex_ids[j]-1)*num_cm_responses+i]; 1757 datasetinput->inputs->AddObject(new Penta VertexInput(InversionCostFunctionsCoefficientsEnum,nodeinputs));1757 datasetinput->inputs->AddObject(new PentaP1Input(InversionCostFunctionsCoefficientsEnum,nodeinputs)); 1758 1758 } 1759 1759 … … 1900 1900 for(;;){ 1901 1901 /*Add input to the element: */ 1902 penta->inputs->AddInput(new Penta VertexInput(ThicknessEnum,newthickness));1903 penta->inputs->AddInput(new Penta VertexInput(SurfaceEnum,newsurface));1904 penta->inputs->AddInput(new Penta VertexInput(BedEnum,newbed));1902 penta->inputs->AddInput(new PentaP1Input(ThicknessEnum,newthickness)); 1903 penta->inputs->AddInput(new PentaP1Input(SurfaceEnum,newsurface)); 1904 penta->inputs->AddInput(new PentaP1Input(BedEnum,newbed)); 1905 1905 1906 1906 /*Stop if we have reached the surface*/ … … 1933 1933 1934 1934 /*Add input to the element: */ 1935 this->inputs->AddInput(new Penta VertexInput(enum_type,values));1935 this->inputs->AddInput(new PentaP1Input(enum_type,values)); 1936 1936 1937 1937 /*Free ressources:*/ … … 1966 1966 for(;;){ 1967 1967 /*Add input to the element: */ 1968 penta->inputs->AddInput(new Penta VertexInput(enum_type,values));1968 penta->inputs->AddInput(new PentaP1Input(enum_type,values)); 1969 1969 1970 1970 /*Stop if we have reached the surface*/ … … 2000 2000 2001 2001 /*update input*/ 2002 this->inputs->AddInput(new Penta VertexInput(name,values));2002 this->inputs->AddInput(new PentaP1Input(name,values)); 2003 2003 return; 2004 2004 … … 2241 2241 if(!this->IsFloating() && elementonshelf==true){ 2242 2242 for(i=0;i<NUMVERTICES;i++)melting[i]=gl_melting_rate/yts; 2243 this->inputs->AddInput(new Penta VertexInput(BasalforcingsMeltingRateEnum,&melting[0]));2243 this->inputs->AddInput(new PentaP1Input(BasalforcingsMeltingRateEnum,&melting[0])); 2244 2244 } 2245 2245 2246 2246 /*Update inputs*/ 2247 this->inputs->AddInput(new Penta VertexInput(SurfaceEnum,&s[0]));2248 this->inputs->AddInput(new Penta VertexInput(BedEnum,&b[0]));2247 this->inputs->AddInput(new PentaP1Input(SurfaceEnum,&s[0])); 2248 this->inputs->AddInput(new PentaP1Input(BedEnum,&b[0])); 2249 2249 this->inputs->AddInput(new BoolInput(MaskElementonfloatingiceEnum,elementonshelf)); 2250 2250 … … 2768 2768 if(!iomodel->Data(VxEnum)){ 2769 2769 for(i=0;i<6;i++)nodeinputs[i]=0; 2770 this->inputs->AddInput(new Penta VertexInput(VxEnum,nodeinputs));2771 if(dakota_analysis) this->inputs->AddInput(new Penta VertexInput(QmuVxEnum,nodeinputs));2770 this->inputs->AddInput(new PentaP1Input(VxEnum,nodeinputs)); 2771 if(dakota_analysis) this->inputs->AddInput(new PentaP1Input(QmuVxEnum,nodeinputs)); 2772 2772 } 2773 2773 if(!iomodel->Data(VyEnum)){ 2774 2774 for(i=0;i<6;i++)nodeinputs[i]=0; 2775 this->inputs->AddInput(new Penta VertexInput(VyEnum,nodeinputs));2776 if(dakota_analysis) this->inputs->AddInput(new Penta VertexInput(QmuVyEnum,nodeinputs));2775 this->inputs->AddInput(new PentaP1Input(VyEnum,nodeinputs)); 2776 if(dakota_analysis) this->inputs->AddInput(new PentaP1Input(QmuVyEnum,nodeinputs)); 2777 2777 } 2778 2778 if(!iomodel->Data(VzEnum)){ 2779 2779 for(i=0;i<6;i++)nodeinputs[i]=0; 2780 this->inputs->AddInput(new Penta VertexInput(VzEnum,nodeinputs));2781 if(dakota_analysis) this->inputs->AddInput(new Penta VertexInput(QmuVzEnum,nodeinputs));2780 this->inputs->AddInput(new PentaP1Input(VzEnum,nodeinputs)); 2781 if(dakota_analysis) this->inputs->AddInput(new PentaP1Input(QmuVzEnum,nodeinputs)); 2782 2782 } 2783 2783 if(!iomodel->Data(PressureEnum)){ 2784 2784 for(i=0;i<6;i++)nodeinputs[i]=0; 2785 2785 if(dakota_analysis){ 2786 this->inputs->AddInput(new Penta VertexInput(PressureEnum,nodeinputs));2787 this->inputs->AddInput(new Penta VertexInput(QmuPressureEnum,nodeinputs));2786 this->inputs->AddInput(new PentaP1Input(PressureEnum,nodeinputs)); 2787 this->inputs->AddInput(new PentaP1Input(QmuPressureEnum,nodeinputs)); 2788 2788 } 2789 2789 if(isstokes){ 2790 this->inputs->AddInput(new Penta VertexInput(PressureEnum,nodeinputs));2791 this->inputs->AddInput(new Penta VertexInput(PressurePicardEnum,nodeinputs));2790 this->inputs->AddInput(new PentaP1Input(PressureEnum,nodeinputs)); 2791 this->inputs->AddInput(new PentaP1Input(PressurePicardEnum,nodeinputs)); 2792 2792 } 2793 2793 } … … 2796 2796 if(iomodel->Data(VzEnum) && iomodel->Data(FlowequationBorderstokesEnum)){ 2797 2797 for(i=0;i<6;i++) nodeinputs[i]=iomodel->Data(VzEnum)[penta_vertex_ids[i]-1]/yts*iomodel->Data(FlowequationBorderstokesEnum)[penta_vertex_ids[i]-1]; 2798 this->inputs->AddInput(new Penta VertexInput(VzStokesEnum,nodeinputs));2798 this->inputs->AddInput(new PentaP1Input(VzStokesEnum,nodeinputs)); 2799 2799 for(i=0;i<6;i++) nodeinputs[i]=iomodel->Data(VzEnum)[penta_vertex_ids[i]-1]/yts*(1-iomodel->Data(FlowequationBorderstokesEnum)[penta_vertex_ids[i]-1]); 2800 this->inputs->AddInput(new Penta VertexInput(VzPattynEnum,nodeinputs));2800 this->inputs->AddInput(new PentaP1Input(VzPattynEnum,nodeinputs)); 2801 2801 } 2802 2802 else{ 2803 2803 for(i=0;i<6;i++)nodeinputs[i]=0; 2804 this->inputs->AddInput(new Penta VertexInput(VzStokesEnum,nodeinputs));2805 this->inputs->AddInput(new Penta VertexInput(VzPattynEnum,nodeinputs));2804 this->inputs->AddInput(new PentaP1Input(VzStokesEnum,nodeinputs)); 2805 this->inputs->AddInput(new PentaP1Input(VzPattynEnum,nodeinputs)); 2806 2806 } 2807 2807 } … … 2810 2810 if(iomodel->Data(VzEnum) && iomodel->Data(FlowequationBorderstokesEnum)){ 2811 2811 for(i=0;i<6;i++) nodeinputs[i]=iomodel->Data(VzEnum)[penta_vertex_ids[i]-1]/yts*iomodel->Data(FlowequationBorderstokesEnum)[penta_vertex_ids[i]-1]; 2812 this->inputs->AddInput(new Penta VertexInput(VzStokesEnum,nodeinputs));2812 this->inputs->AddInput(new PentaP1Input(VzStokesEnum,nodeinputs)); 2813 2813 for(i=0;i<6;i++) nodeinputs[i]=iomodel->Data(VzEnum)[penta_vertex_ids[i]-1]/yts*(1-iomodel->Data(FlowequationBorderstokesEnum)[penta_vertex_ids[i]-1]); 2814 this->inputs->AddInput(new Penta VertexInput(VzMacAyealEnum,nodeinputs));2814 this->inputs->AddInput(new PentaP1Input(VzMacAyealEnum,nodeinputs)); 2815 2815 } 2816 2816 else{ 2817 2817 for(i=0;i<6;i++)nodeinputs[i]=0; 2818 this->inputs->AddInput(new Penta VertexInput(VzStokesEnum,nodeinputs));2819 this->inputs->AddInput(new Penta VertexInput(VzMacAyealEnum,nodeinputs));2818 this->inputs->AddInput(new PentaP1Input(VzStokesEnum,nodeinputs)); 2819 this->inputs->AddInput(new PentaP1Input(VzMacAyealEnum,nodeinputs)); 2820 2820 } 2821 2821 } … … 2825 2825 /*Initialize mesh velocity*/ 2826 2826 for(i=0;i<6;i++)nodeinputs[i]=0; 2827 this->inputs->AddInput(new Penta VertexInput(VxMeshEnum,nodeinputs));2828 this->inputs->AddInput(new Penta VertexInput(VyMeshEnum,nodeinputs));2829 this->inputs->AddInput(new Penta VertexInput(VzMeshEnum,nodeinputs));2827 this->inputs->AddInput(new PentaP1Input(VxMeshEnum,nodeinputs)); 2828 this->inputs->AddInput(new PentaP1Input(VyMeshEnum,nodeinputs)); 2829 this->inputs->AddInput(new PentaP1Input(VzMeshEnum,nodeinputs)); 2830 2830 break; 2831 2831 … … 2833 2833 /*Initialize mesh velocity*/ 2834 2834 for(i=0;i<6;i++)nodeinputs[i]=0; 2835 this->inputs->AddInput(new Penta VertexInput(VxMeshEnum,nodeinputs));2836 this->inputs->AddInput(new Penta VertexInput(VyMeshEnum,nodeinputs));2837 this->inputs->AddInput(new Penta VertexInput(VzMeshEnum,nodeinputs));2835 this->inputs->AddInput(new PentaP1Input(VxMeshEnum,nodeinputs)); 2836 this->inputs->AddInput(new PentaP1Input(VyMeshEnum,nodeinputs)); 2837 this->inputs->AddInput(new PentaP1Input(VzMeshEnum,nodeinputs)); 2838 2838 if (iomodel->Data(TemperatureEnum) && iomodel->Data(WaterfractionEnum) && iomodel->Data(PressureEnum)) { 2839 2839 for(i=0;i<6;i++){ … … 2845 2845 +latentheat*iomodel->Data(WaterfractionEnum)[penta_vertex_ids[i]-1]; 2846 2846 } 2847 this->inputs->AddInput(new Penta VertexInput(EnthalpyEnum,nodeinputs));2847 this->inputs->AddInput(new PentaP1Input(EnthalpyEnum,nodeinputs)); 2848 2848 } 2849 2849 else _error_("temperature and waterfraction required for the enthalpy solution"); … … 2918 2918 2919 2919 /*Create PentaVertex input, which will hold the basal friction:*/ 2920 this->inputs->AddInput(new Penta VertexInput(ViscousHeatingEnum,&viscousheating[0]));2920 this->inputs->AddInput(new PentaP1Input(ViscousHeatingEnum,&viscousheating[0])); 2921 2921 2922 2922 /*Clean up and return*/ … … 4199 4199 this->inputs->GetInputValue(&converged,ConvergedEnum); 4200 4200 if(converged){ 4201 this->inputs->AddInput(new Penta VertexInput(TemperatureEnum,values));4201 this->inputs->AddInput(new PentaP1Input(TemperatureEnum,values)); 4202 4202 4203 4203 /*Update Rheology only if converged (we must make sure that the temperature is below melting point … … 4211 4211 B_average=Paterson((values[0]+values[1]+values[2]+values[3]+values[4]+values[5])/6.0); 4212 4212 for(i=0;i<numdof;i++) B[i]=B_average; 4213 this->matice->inputs->AddInput(new Penta VertexInput(MaterialsRheologyBEnum,B));4213 this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyBEnum,B)); 4214 4214 break; 4215 4215 case ArrheniusEnum: … … 4219 4219 matice->GetN()); 4220 4220 for(i=0;i<numdof;i++) B[i]=B_average; 4221 this->matice->inputs->AddInput(new Penta VertexInput(MaterialsRheologyBEnum,B));4221 this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyBEnum,B)); 4222 4222 break; 4223 4223 default: … … 4227 4227 } 4228 4228 else{ 4229 this->inputs->AddInput(new Penta VertexInput(TemperaturePicardEnum,values));4229 this->inputs->AddInput(new PentaP1Input(TemperaturePicardEnum,values)); 4230 4230 } 4231 4231 … … 4272 4272 for(i=0;i<numdof;i++) matpar->EnthalpyToThermal(&temperatures[i],&waterfraction[i],values[i],pressure[i]); 4273 4273 4274 this->inputs->AddInput(new Penta VertexInput(EnthalpyEnum,values));4275 this->inputs->AddInput(new Penta VertexInput(WaterfractionEnum,waterfraction));4276 this->inputs->AddInput(new Penta VertexInput(TemperatureEnum,temperatures));4274 this->inputs->AddInput(new PentaP1Input(EnthalpyEnum,values)); 4275 this->inputs->AddInput(new PentaP1Input(WaterfractionEnum,waterfraction)); 4276 this->inputs->AddInput(new PentaP1Input(TemperatureEnum,temperatures)); 4277 4277 4278 4278 /*Update Rheology only if converged (we must make sure that the temperature is below melting point … … 4286 4286 B_average=Paterson((temperatures[0]+temperatures[1]+temperatures[2]+temperatures[3]+temperatures[4]+temperatures[5])/6.0); 4287 4287 for(i=0;i<numdof;i++) B[i]=B_average; 4288 this->matice->inputs->AddInput(new Penta VertexInput(MaterialsRheologyBEnum,B));4288 this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyBEnum,B)); 4289 4289 break; 4290 4290 case ArrheniusEnum: … … 4294 4294 matice->GetN()); 4295 4295 for(i=0;i<numdof;i++) B[i]=B_average; 4296 this->matice->inputs->AddInput(new Penta VertexInput(MaterialsRheologyBEnum,B));4296 this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyBEnum,B)); 4297 4297 break; 4298 4298 default: … … 4302 4302 // } 4303 4303 // else{ 4304 // this->inputs->AddInput(new Penta VertexInput(EnthalpyPicardEnum,values));4304 // this->inputs->AddInput(new PentaP1Input(EnthalpyPicardEnum,values)); 4305 4305 // } 4306 4306 … … 4367 4367 this->GetDofList1(&doflist1[0]); 4368 4368 for(int i=0;i<NUMVERTICES;i++) grad_list[i]=gradient[doflist1[i]]; 4369 grad_input=new Penta VertexInput(GradientEnum,grad_list);4369 grad_input=new PentaP1Input(GradientEnum,grad_list); 4370 4370 ((ControlInput*)input)->SetGradient(grad_input); 4371 4371 … … 4823 4823 4824 4824 /*Add vx and vy as inputs to the tria element: */ 4825 this->inputs->AddInput(new Penta VertexInput(AdjointxEnum,lambdax));4826 this->inputs->AddInput(new Penta VertexInput(AdjointyEnum,lambday));4827 this->inputs->AddInput(new Penta VertexInput(AdjointzEnum,lambdaz));4828 this->inputs->AddInput(new Penta VertexInput(AdjointpEnum,lambdap));4825 this->inputs->AddInput(new PentaP1Input(AdjointxEnum,lambdax)); 4826 this->inputs->AddInput(new PentaP1Input(AdjointyEnum,lambday)); 4827 this->inputs->AddInput(new PentaP1Input(AdjointzEnum,lambdaz)); 4828 this->inputs->AddInput(new PentaP1Input(AdjointpEnum,lambdap)); 4829 4829 4830 4830 /*Free ressources:*/ … … 4860 4860 4861 4861 /*Add vx and vy as inputs to the tria element: */ 4862 this->inputs->AddInput(new Penta VertexInput(AdjointxEnum,lambdax));4863 this->inputs->AddInput(new Penta VertexInput(AdjointyEnum,lambday));4862 this->inputs->AddInput(new PentaP1Input(AdjointxEnum,lambdax)); 4863 this->inputs->AddInput(new PentaP1Input(AdjointyEnum,lambday)); 4864 4864 4865 4865 /*Free ressources:*/ … … 5125 5125 case VertexEnum: 5126 5126 5127 /*New Penta VertexInput*/5127 /*New PentaP1Input*/ 5128 5128 double values[6]; 5129 5129 … … 5198 5198 5199 5199 /*Add new inputs: */ 5200 this->inputs->AddInput(new Penta VertexInput(ThicknessEnum,thickness));5201 this->inputs->AddInput(new Penta VertexInput(BedEnum,bed));5202 this->inputs->AddInput(new Penta VertexInput(SurfaceEnum,surface));5200 this->inputs->AddInput(new PentaP1Input(ThicknessEnum,thickness)); 5201 this->inputs->AddInput(new PentaP1Input(BedEnum,bed)); 5202 this->inputs->AddInput(new PentaP1Input(SurfaceEnum,surface)); 5203 5203 5204 5204 /*}}}*/ 5205 5205 break; 5206 5206 default: 5207 this->inputs->AddInput(new Penta VertexInput(name,values));5207 this->inputs->AddInput(new PentaP1Input(name,values)); 5208 5208 } 5209 5209 break; … … 5258 5258 5259 5259 if(t==0) transientinput=new TransientInput(name); 5260 transientinput->AddTimeInput(new Penta VertexInput(name,values),time);5260 transientinput->AddTimeInput(new PentaP1Input(name,values),time); 5261 5261 transientinput->Configure(parameters); 5262 5262 } … … 7569 7569 7570 7570 /*Add vx and vy as inputs to the tria element: */ 7571 penta->inputs->AddInput(new Penta VertexInput(VxEnum,vx));7572 penta->inputs->AddInput(new Penta VertexInput(VyEnum,vy));7573 penta->inputs->AddInput(new Penta VertexInput(VelEnum,vel));7574 penta->inputs->AddInput(new Penta VertexInput(PressureEnum,pressure));7571 penta->inputs->AddInput(new PentaP1Input(VxEnum,vx)); 7572 penta->inputs->AddInput(new PentaP1Input(VyEnum,vy)); 7573 penta->inputs->AddInput(new PentaP1Input(VelEnum,vel)); 7574 penta->inputs->AddInput(new PentaP1Input(PressureEnum,pressure)); 7575 7575 7576 7576 /*Stop if we have reached the surface*/ … … 7659 7659 7660 7660 /*Add vx and vy as inputs to the tria element: */ 7661 this->inputs->AddInput(new Penta VertexInput(VxEnum,vx));7662 this->inputs->AddInput(new Penta VertexInput(VyEnum,vy));7663 this->inputs->AddInput(new Penta VertexInput(VelEnum,vel));7664 this->inputs->AddInput(new Penta VertexInput(PressureEnum,pressure));7661 this->inputs->AddInput(new PentaP1Input(VxEnum,vx)); 7662 this->inputs->AddInput(new PentaP1Input(VyEnum,vy)); 7663 this->inputs->AddInput(new PentaP1Input(VelEnum,vel)); 7664 this->inputs->AddInput(new PentaP1Input(PressureEnum,pressure)); 7665 7665 7666 7666 /*Free ressources:*/ … … 7734 7734 Input* vzmacayeal_input=inputs->GetInput(VzMacAyealEnum); 7735 7735 if (vzmacayeal_input){ 7736 if (vzmacayeal_input->ObjectEnum()!=Penta VertexInputEnum){7736 if (vzmacayeal_input->ObjectEnum()!=PentaP1InputEnum){ 7737 7737 _error_("Cannot compute Vel as VzMacAyeal is of type %s",EnumToStringx(vzmacayeal_input->ObjectEnum())); 7738 7738 } … … 7757 7757 7758 7758 /*Add vx and vy as inputs to the tria element: */ 7759 this->inputs->AddInput(new Penta VertexInput(VxEnum,vx));7760 this->inputs->AddInput(new Penta VertexInput(VyEnum,vy));7761 this->inputs->AddInput(new Penta VertexInput(VzEnum,vz));7762 this->inputs->AddInput(new Penta VertexInput(VzStokesEnum,vzstokes));7763 this->inputs->AddInput(new Penta VertexInput(VelEnum,vel));7764 this->inputs->AddInput(new Penta VertexInput(PressureEnum,pressure));7759 this->inputs->AddInput(new PentaP1Input(VxEnum,vx)); 7760 this->inputs->AddInput(new PentaP1Input(VyEnum,vy)); 7761 this->inputs->AddInput(new PentaP1Input(VzEnum,vz)); 7762 this->inputs->AddInput(new PentaP1Input(VzStokesEnum,vzstokes)); 7763 this->inputs->AddInput(new PentaP1Input(VelEnum,vel)); 7764 this->inputs->AddInput(new PentaP1Input(PressureEnum,pressure)); 7765 7765 7766 7766 /*Free ressources:*/ … … 7834 7834 7835 7835 /*Add vx and vy as inputs to the tria element: */ 7836 this->inputs->AddInput(new Penta VertexInput(VxEnum,vx));7837 this->inputs->AddInput(new Penta VertexInput(VyEnum,vy));7838 this->inputs->AddInput(new Penta VertexInput(VelEnum,vel));7839 this->inputs->AddInput(new Penta VertexInput(PressureEnum,pressure));7836 this->inputs->AddInput(new PentaP1Input(VxEnum,vx)); 7837 this->inputs->AddInput(new PentaP1Input(VyEnum,vy)); 7838 this->inputs->AddInput(new PentaP1Input(VelEnum,vel)); 7839 this->inputs->AddInput(new PentaP1Input(PressureEnum,pressure)); 7840 7840 7841 7841 /*Free ressources:*/ … … 7902 7902 Input* vzpattyn_input=inputs->GetInput(VzPattynEnum); 7903 7903 if (vzpattyn_input){ 7904 if (vzpattyn_input->ObjectEnum()!=Penta VertexInputEnum){7904 if (vzpattyn_input->ObjectEnum()!=PentaP1InputEnum){ 7905 7905 _error_("Cannot compute Vel as VzPattyn is of type %s",EnumToStringx(vzpattyn_input->ObjectEnum())); 7906 7906 } … … 7925 7925 7926 7926 /*Add vx and vy as inputs to the tria element: */ 7927 this->inputs->AddInput(new Penta VertexInput(VxEnum,vx));7928 this->inputs->AddInput(new Penta VertexInput(VyEnum,vy));7929 this->inputs->AddInput(new Penta VertexInput(VzEnum,vz));7930 this->inputs->AddInput(new Penta VertexInput(VzStokesEnum,vzstokes));7931 this->inputs->AddInput(new Penta VertexInput(VelEnum,vel));7932 this->inputs->AddInput(new Penta VertexInput(PressureEnum,pressure));7927 this->inputs->AddInput(new PentaP1Input(VxEnum,vx)); 7928 this->inputs->AddInput(new PentaP1Input(VyEnum,vy)); 7929 this->inputs->AddInput(new PentaP1Input(VzEnum,vz)); 7930 this->inputs->AddInput(new PentaP1Input(VzStokesEnum,vzstokes)); 7931 this->inputs->AddInput(new PentaP1Input(VelEnum,vel)); 7932 this->inputs->AddInput(new PentaP1Input(PressureEnum,pressure)); 7933 7933 7934 7934 /*Free ressources:*/ … … 7991 7991 7992 7992 /*Add vx and vy as inputs to the tria element: */ 7993 this->inputs->AddInput(new Penta VertexInput(VxEnum,vx));7994 this->inputs->AddInput(new Penta VertexInput(VyEnum,vy));7995 this->inputs->AddInput(new Penta VertexInput(VelEnum,vel));7996 this->inputs->AddInput(new Penta VertexInput(PressureEnum,pressure));7993 this->inputs->AddInput(new PentaP1Input(VxEnum,vx)); 7994 this->inputs->AddInput(new PentaP1Input(VyEnum,vy)); 7995 this->inputs->AddInput(new PentaP1Input(VelEnum,vel)); 7996 this->inputs->AddInput(new PentaP1Input(PressureEnum,pressure)); 7997 7997 7998 7998 /*Free ressources:*/ … … 8049 8049 Input* vzstokes_input=inputs->GetInput(VzStokesEnum); 8050 8050 if (vzstokes_input){ 8051 if (vzstokes_input->ObjectEnum()!=Penta VertexInputEnum) _error_("Cannot compute Vel as VzStokes is of type %s",EnumToStringx(vzstokes_input->ObjectEnum()));8051 if (vzstokes_input->ObjectEnum()!=PentaP1InputEnum) _error_("Cannot compute Vel as VzStokes is of type %s",EnumToStringx(vzstokes_input->ObjectEnum())); 8052 8052 GetInputListOnVertices(&vzstokes[0],VzStokesEnum); 8053 8053 } … … 8061 8061 Input* vzstokes_input=inputs->GetInput(VzStokesEnum); 8062 8062 if (vzstokes_input){ 8063 if (vzstokes_input->ObjectEnum()!=Penta VertexInputEnum) _error_("Cannot compute Vel as VzStokes is of type %s",EnumToStringx(vzstokes_input->ObjectEnum()));8063 if (vzstokes_input->ObjectEnum()!=PentaP1InputEnum) _error_("Cannot compute Vel as VzStokes is of type %s",EnumToStringx(vzstokes_input->ObjectEnum())); 8064 8064 GetInputListOnVertices(&vzstokes[0],VzStokesEnum); 8065 8065 } … … 8089 8089 if(approximation!=PattynStokesApproximationEnum && approximation!=MacAyealStokesApproximationEnum){ 8090 8090 this->inputs->ChangeEnum(PressureEnum,PressurePicardEnum); 8091 this->inputs->AddInput(new Penta VertexInput(PressureEnum,pressure));8091 this->inputs->AddInput(new PentaP1Input(PressureEnum,pressure)); 8092 8092 } 8093 8093 else if(approximation==PattynStokesApproximationEnum){ 8094 this->inputs->AddInput(new Penta VertexInput(VzPattynEnum,vzpattyn));8094 this->inputs->AddInput(new PentaP1Input(VzPattynEnum,vzpattyn)); 8095 8095 } 8096 8096 else if(approximation==MacAyealStokesApproximationEnum){ 8097 this->inputs->AddInput(new Penta VertexInput(VzMacAyealEnum,vzmacayeal));8098 } 8099 this->inputs->AddInput(new Penta VertexInput(VzEnum,vz));8100 this->inputs->AddInput(new Penta VertexInput(VelEnum,vel));8097 this->inputs->AddInput(new PentaP1Input(VzMacAyealEnum,vzmacayeal)); 8098 } 8099 this->inputs->AddInput(new PentaP1Input(VzEnum,vz)); 8100 this->inputs->AddInput(new PentaP1Input(VelEnum,vel)); 8101 8101 8102 8102 /*Free ressources:*/ … … 8155 8155 8156 8156 /*Add vx and vy as inputs to the tria element: */ 8157 this->inputs->AddInput(new Penta VertexInput(VxEnum,vx));8158 this->inputs->AddInput(new Penta VertexInput(VyEnum,vy));8159 this->inputs->AddInput(new Penta VertexInput(VzEnum,vz));8160 this->inputs->AddInput(new Penta VertexInput(VelEnum,vel));8161 this->inputs->AddInput(new Penta VertexInput(PressureEnum,pressure));8157 this->inputs->AddInput(new PentaP1Input(VxEnum,vx)); 8158 this->inputs->AddInput(new PentaP1Input(VyEnum,vy)); 8159 this->inputs->AddInput(new PentaP1Input(VzEnum,vz)); 8160 this->inputs->AddInput(new PentaP1Input(VelEnum,vel)); 8161 this->inputs->AddInput(new PentaP1Input(PressureEnum,pressure)); 8162 8162 8163 8163 /*Free ressources:*/ -
issm/trunk-jpl/src/c/objects/Elements/Tria.cpp
r11260 r11291 938 938 939 939 /*Add Stress tensor components into inputs*/ 940 this->inputs->AddInput(new Tria VertexInput(StressTensorxxEnum,&sigma_xx[0]));941 this->inputs->AddInput(new Tria VertexInput(StressTensorxyEnum,&sigma_xy[0]));942 this->inputs->AddInput(new Tria VertexInput(StressTensorxzEnum,&sigma_xz[0]));943 this->inputs->AddInput(new Tria VertexInput(StressTensoryyEnum,&sigma_yy[0]));944 this->inputs->AddInput(new Tria VertexInput(StressTensoryzEnum,&sigma_yz[0]));945 this->inputs->AddInput(new Tria VertexInput(StressTensorzzEnum,&sigma_zz[0]));940 this->inputs->AddInput(new TriaP1Input(StressTensorxxEnum,&sigma_xx[0])); 941 this->inputs->AddInput(new TriaP1Input(StressTensorxyEnum,&sigma_xy[0])); 942 this->inputs->AddInput(new TriaP1Input(StressTensorxzEnum,&sigma_xz[0])); 943 this->inputs->AddInput(new TriaP1Input(StressTensoryyEnum,&sigma_yy[0])); 944 this->inputs->AddInput(new TriaP1Input(StressTensoryzEnum,&sigma_yz[0])); 945 this->inputs->AddInput(new TriaP1Input(StressTensorzzEnum,&sigma_zz[0])); 946 946 947 947 /*Clean up and return*/ … … 1516 1516 for(j=0;j<3;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1517 1517 for(j=0;j<3;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1518 this->inputs->AddInput(new ControlInput(BalancethicknessThickeningRateEnum,Tria VertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));1518 this->inputs->AddInput(new ControlInput(BalancethicknessThickeningRateEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1519 1519 } 1520 1520 break; … … 1524 1524 for(j=0;j<3;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1525 1525 for(j=0;j<3;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1526 this->inputs->AddInput(new ControlInput(VxEnum,Tria VertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));1526 this->inputs->AddInput(new ControlInput(VxEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1527 1527 } 1528 1528 break; … … 1532 1532 for(j=0;j<3;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1533 1533 for(j=0;j<3;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1534 this->inputs->AddInput(new ControlInput(VyEnum,Tria VertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));1534 this->inputs->AddInput(new ControlInput(VyEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1535 1535 } 1536 1536 break; … … 1540 1540 for(j=0;j<3;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]; 1541 1541 for(j=0;j<3;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]; 1542 this->inputs->AddInput(new ControlInput(FrictionCoefficientEnum,Tria VertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));1542 this->inputs->AddInput(new ControlInput(FrictionCoefficientEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1543 1543 } 1544 1544 break; … … 1559 1559 for(i=0;i<num_cm_responses;i++){ 1560 1560 for(j=0;j<3;j++)nodeinputs[j]=iomodel->Data(InversionCostFunctionsCoefficientsEnum)[(tria_vertex_ids[j]-1)*num_cm_responses+i]; 1561 datasetinput->inputs->AddObject(new Tria VertexInput(InversionCostFunctionsCoefficientsEnum,nodeinputs));1561 datasetinput->inputs->AddObject(new TriaP1Input(InversionCostFunctionsCoefficientsEnum,nodeinputs)); 1562 1562 } 1563 1563 … … 1640 1640 1641 1641 /*Add input to the element: */ 1642 this->inputs->AddInput(new Tria VertexInput(enum_type,values));1642 this->inputs->AddInput(new TriaP1Input(enum_type,values)); 1643 1643 1644 1644 /*Free ressources:*/ … … 1705 1705 1706 1706 /*Add input to the element: */ 1707 this->inputs->AddInput(new Tria VertexInput(ThicknessEnum,newthickness));1708 this->inputs->AddInput(new Tria VertexInput(SurfaceEnum,newsurface));1709 this->inputs->AddInput(new Tria VertexInput(BedEnum,newbed));1707 this->inputs->AddInput(new TriaP1Input(ThicknessEnum,newthickness)); 1708 this->inputs->AddInput(new TriaP1Input(SurfaceEnum,newsurface)); 1709 this->inputs->AddInput(new TriaP1Input(BedEnum,newbed)); 1710 1710 1711 1711 /*Free ressources:*/ … … 1723 1723 case VertexEnum: 1724 1724 1725 /*New Tria VertexInput*/1725 /*New TriaP1Input*/ 1726 1726 double values[3]; 1727 1727 … … 1733 1733 /*update input*/ 1734 1734 if (name==MaterialsRheologyBbarEnum || name==MaterialsRheologyBEnum){ 1735 matice->inputs->AddInput(new Tria VertexInput(name,values));1735 matice->inputs->AddInput(new TriaP1Input(name,values)); 1736 1736 } 1737 1737 else{ 1738 this->inputs->AddInput(new Tria VertexInput(name,values));1738 this->inputs->AddInput(new TriaP1Input(name,values)); 1739 1739 } 1740 1740 return; … … 1812 1812 1813 1813 /*create static input: */ 1814 this->inputs->AddInput(new Tria VertexInput(vector_enum,nodeinputs));1814 this->inputs->AddInput(new TriaP1Input(vector_enum,nodeinputs)); 1815 1815 } 1816 1816 else if(M==numberofvertices+1){ … … 1831 1831 1832 1832 if(t==0) transientinput=new TransientInput(vector_enum); 1833 transientinput->AddTimeInput(new Tria VertexInput(vector_enum,nodeinputs),time);1833 transientinput->AddTimeInput(new TriaP1Input(vector_enum,nodeinputs),time); 1834 1834 } 1835 1835 this->inputs->AddInput(transientinput); … … 2067 2067 if(!this->IsFloating() && elementonshelf==true){ 2068 2068 for(i=0;i<NUMVERTICES;i++)melting[i]=gl_melting_rate/yts; 2069 this->inputs->AddInput(new Tria VertexInput(BasalforcingsMeltingRateEnum,&melting[0]));2069 this->inputs->AddInput(new TriaP1Input(BasalforcingsMeltingRateEnum,&melting[0])); 2070 2070 } 2071 2071 … … 2074 2074 2075 2075 /*Update inputs*/ 2076 this->inputs->AddInput(new Tria VertexInput(SurfaceEnum,&s[0]));2077 this->inputs->AddInput(new Tria VertexInput(BedEnum,&b[0]));2076 this->inputs->AddInput(new TriaP1Input(SurfaceEnum,&s[0])); 2077 this->inputs->AddInput(new TriaP1Input(BedEnum,&b[0])); 2078 2078 } 2079 2079 /*}}}*/ … … 2398 2398 if(!iomodel->Data(VxEnum)){ 2399 2399 for(i=0;i<3;i++)nodeinputs[i]=0; 2400 this->inputs->AddInput(new Tria VertexInput(VxEnum,nodeinputs));2401 if(dakota_analysis) this->inputs->AddInput(new Tria VertexInput(QmuVxEnum,nodeinputs));2400 this->inputs->AddInput(new TriaP1Input(VxEnum,nodeinputs)); 2401 if(dakota_analysis) this->inputs->AddInput(new TriaP1Input(QmuVxEnum,nodeinputs)); 2402 2402 } 2403 2403 if(!iomodel->Data(VyEnum)){ 2404 2404 for(i=0;i<3;i++)nodeinputs[i]=0; 2405 this->inputs->AddInput(new Tria VertexInput(VyEnum,nodeinputs));2406 if(dakota_analysis) this->inputs->AddInput(new Tria VertexInput(QmuVyEnum,nodeinputs));2405 this->inputs->AddInput(new TriaP1Input(VyEnum,nodeinputs)); 2406 if(dakota_analysis) this->inputs->AddInput(new TriaP1Input(QmuVyEnum,nodeinputs)); 2407 2407 } 2408 2408 if(!iomodel->Data(VzEnum)){ 2409 2409 for(i=0;i<3;i++)nodeinputs[i]=0; 2410 this->inputs->AddInput(new Tria VertexInput(VzEnum,nodeinputs));2411 if(dakota_analysis) this->inputs->AddInput(new Tria VertexInput(QmuVzEnum,nodeinputs));2410 this->inputs->AddInput(new TriaP1Input(VzEnum,nodeinputs)); 2411 if(dakota_analysis) this->inputs->AddInput(new TriaP1Input(QmuVzEnum,nodeinputs)); 2412 2412 } 2413 2413 if(!iomodel->Data(PressureEnum)){ 2414 2414 for(i=0;i<3;i++)nodeinputs[i]=0; 2415 2415 if(dakota_analysis){ 2416 this->inputs->AddInput(new Tria VertexInput(PressureEnum,nodeinputs));2417 this->inputs->AddInput(new Tria VertexInput(QmuPressureEnum,nodeinputs));2416 this->inputs->AddInput(new TriaP1Input(PressureEnum,nodeinputs)); 2417 this->inputs->AddInput(new TriaP1Input(QmuPressureEnum,nodeinputs)); 2418 2418 } 2419 2419 } … … 3158 3158 3159 3159 /*Add vx and vy as inputs to the tria element: */ 3160 this->inputs->AddInput(new Tria VertexInput(VxEnum,vx));3161 this->inputs->AddInput(new Tria VertexInput(VyEnum,vy));3162 this->inputs->AddInput(new Tria VertexInput(VelEnum,vel));3163 this->inputs->AddInput(new Tria VertexInput(PressureEnum,pressure));3160 this->inputs->AddInput(new TriaP1Input(VxEnum,vx)); 3161 this->inputs->AddInput(new TriaP1Input(VyEnum,vy)); 3162 this->inputs->AddInput(new TriaP1Input(VelEnum,vel)); 3163 this->inputs->AddInput(new TriaP1Input(PressureEnum,pressure)); 3164 3164 3165 3165 /*Free ressources:*/ … … 3218 3218 3219 3219 /*Add vx and vy as inputs to the tria element: */ 3220 this->inputs->AddInput(new Tria VertexInput(VxEnum,vx));3221 this->inputs->AddInput(new Tria VertexInput(VyEnum,vy));3222 this->inputs->AddInput(new Tria VertexInput(VelEnum,vel));3223 this->inputs->AddInput(new Tria VertexInput(PressureEnum,pressure));3220 this->inputs->AddInput(new TriaP1Input(VxEnum,vx)); 3221 this->inputs->AddInput(new TriaP1Input(VyEnum,vy)); 3222 this->inputs->AddInput(new TriaP1Input(VelEnum,vel)); 3223 this->inputs->AddInput(new TriaP1Input(PressureEnum,pressure)); 3224 3224 3225 3225 /*Free ressources:*/ … … 3319 3319 this->GetDofList1(&doflist1[0]); 3320 3320 for(int i=0;i<NUMVERTICES;i++) grad_list[i]=gradient[doflist1[i]]; 3321 grad_input=new Tria VertexInput(GradientEnum,grad_list);3321 grad_input=new TriaP1Input(GradientEnum,grad_list); 3322 3322 3323 3323 ((ControlInput*)input)->SetGradient(grad_input); … … 4678 4678 4679 4679 /*Add vx and vy as inputs to the tria element: */ 4680 this->inputs->AddInput(new Tria VertexInput(AdjointxEnum,lambdax));4681 this->inputs->AddInput(new Tria VertexInput(AdjointyEnum,lambday));4680 this->inputs->AddInput(new TriaP1Input(AdjointxEnum,lambdax)); 4681 this->inputs->AddInput(new TriaP1Input(AdjointyEnum,lambday)); 4682 4682 4683 4683 /*Free ressources:*/ … … 4708 4708 4709 4709 /*Add vx and vy as inputs to the tria element: */ 4710 this->inputs->AddInput(new Tria VertexInput(AdjointEnum,lambda));4710 this->inputs->AddInput(new TriaP1Input(AdjointEnum,lambda)); 4711 4711 4712 4712 /*Free ressources:*/ … … 4768 4768 4769 4769 /*Add to inputs*/ 4770 this->inputs->AddInput(new Tria VertexInput(HydrologyWaterVxEnum,vx));4771 this->inputs->AddInput(new Tria VertexInput(HydrologyWaterVyEnum,vy));4770 this->inputs->AddInput(new TriaP1Input(HydrologyWaterVxEnum,vx)); 4771 this->inputs->AddInput(new TriaP1Input(HydrologyWaterVyEnum,vy)); 4772 4772 } 4773 4773 /*}}}*/ … … 4984 4984 4985 4985 /*Add input to the element: */ 4986 this->inputs->AddInput(new Tria VertexInput(WatercolumnEnum,values));4986 this->inputs->AddInput(new TriaP1Input(WatercolumnEnum,values)); 4987 4987 4988 4988 /*Free ressources:*/ … … 5005 5005 case VertexEnum: 5006 5006 5007 /*New Tria VertexInput*/5007 /*New TriaP1Input*/ 5008 5008 double values[3]; 5009 5009 … … 5078 5078 5079 5079 /*Add new inputs: */ 5080 this->inputs->AddInput(new Tria VertexInput(ThicknessEnum,thickness));5081 this->inputs->AddInput(new Tria VertexInput(BedEnum,bed));5082 this->inputs->AddInput(new Tria VertexInput(SurfaceEnum,surface));5080 this->inputs->AddInput(new TriaP1Input(ThicknessEnum,thickness)); 5081 this->inputs->AddInput(new TriaP1Input(BedEnum,bed)); 5082 this->inputs->AddInput(new TriaP1Input(SurfaceEnum,surface)); 5083 5083 5084 5084 /*}}}*/ 5085 5085 break; 5086 5086 default: 5087 this->inputs->AddInput(new Tria VertexInput(name,values));5087 this->inputs->AddInput(new TriaP1Input(name,values)); 5088 5088 } 5089 5089 break; … … 5137 5137 5138 5138 if(t==0) transientinput=new TransientInput(name); 5139 transientinput->AddTimeInput(new Tria VertexInput(name,values),time);5139 transientinput->AddTimeInput(new TriaP1Input(name,values),time); 5140 5140 transientinput->Configure(parameters); 5141 5141 } -
issm/trunk-jpl/src/c/objects/Inputs/ControlInput.cpp
r10135 r11291 35 35 36 36 switch(enum_input){ 37 case Tria VertexInputEnum:38 values =new Tria VertexInput(enum_type,pvalues);39 savedvalues=new Tria VertexInput(enum_type,pvalues);40 minvalues =new Tria VertexInput(enum_type,pmin);41 maxvalues =new Tria VertexInput(enum_type,pmax);37 case TriaP1InputEnum: 38 values =new TriaP1Input(enum_type,pvalues); 39 savedvalues=new TriaP1Input(enum_type,pvalues); 40 minvalues =new TriaP1Input(enum_type,pmin); 41 maxvalues =new TriaP1Input(enum_type,pmax); 42 42 break; 43 case Penta VertexInputEnum:44 values =new Penta VertexInput(enum_type,pvalues);45 savedvalues=new Penta VertexInput(enum_type,pvalues);46 minvalues =new Penta VertexInput(enum_type,pmin);47 maxvalues =new Penta VertexInput(enum_type,pmax);43 case PentaP1InputEnum: 44 values =new PentaP1Input(enum_type,pvalues); 45 savedvalues=new PentaP1Input(enum_type,pvalues); 46 minvalues =new PentaP1Input(enum_type,pmin); 47 maxvalues =new PentaP1Input(enum_type,pmax); 48 48 break; 49 49 default: … … 206 206 if(flag){ 207 207 memcpy(&input_enum_type,marshalled_dataset,sizeof(int)); marshalled_dataset+=sizeof(int); 208 if(input_enum_type==Penta VertexInputEnum){209 values=new Penta VertexInput();208 if(input_enum_type==PentaP1InputEnum){ 209 values=new PentaP1Input(); 210 210 values->Demarshall(&marshalled_dataset); 211 211 } 212 else if(input_enum_type==Tria VertexInputEnum){213 values=new Tria VertexInput();212 else if(input_enum_type==TriaP1InputEnum){ 213 values=new TriaP1Input(); 214 214 values->Demarshall(&marshalled_dataset); 215 215 } … … 224 224 if(flag){ 225 225 memcpy(&input_enum_type,marshalled_dataset,sizeof(int)); marshalled_dataset+=sizeof(int); 226 if(input_enum_type==Penta VertexInputEnum){227 savedvalues=new Penta VertexInput();226 if(input_enum_type==PentaP1InputEnum){ 227 savedvalues=new PentaP1Input(); 228 228 savedvalues->Demarshall(&marshalled_dataset); 229 229 } 230 else if(input_enum_type==Tria VertexInputEnum){231 savedvalues=new Tria VertexInput();230 else if(input_enum_type==TriaP1InputEnum){ 231 savedvalues=new TriaP1Input(); 232 232 savedvalues->Demarshall(&marshalled_dataset); 233 233 } … … 242 242 if(flag){ 243 243 memcpy(&input_enum_type,marshalled_dataset,sizeof(int)); marshalled_dataset+=sizeof(int); 244 if(input_enum_type==Penta VertexInputEnum){245 minvalues=new Penta VertexInput();244 if(input_enum_type==PentaP1InputEnum){ 245 minvalues=new PentaP1Input(); 246 246 minvalues->Demarshall(&marshalled_dataset); 247 247 } 248 else if(input_enum_type==Tria VertexInputEnum){249 minvalues=new Tria VertexInput();248 else if(input_enum_type==TriaP1InputEnum){ 249 minvalues=new TriaP1Input(); 250 250 minvalues->Demarshall(&marshalled_dataset); 251 251 } … … 260 260 if(flag){ 261 261 memcpy(&input_enum_type,marshalled_dataset,sizeof(int)); marshalled_dataset+=sizeof(int); 262 if(input_enum_type==Penta VertexInputEnum){263 maxvalues=new Penta VertexInput();262 if(input_enum_type==PentaP1InputEnum){ 263 maxvalues=new PentaP1Input(); 264 264 maxvalues->Demarshall(&marshalled_dataset); 265 265 } 266 else if(input_enum_type==Tria VertexInputEnum){267 maxvalues=new Tria VertexInput();266 else if(input_enum_type==TriaP1InputEnum){ 267 maxvalues=new TriaP1Input(); 268 268 maxvalues->Demarshall(&marshalled_dataset); 269 269 } … … 278 278 if(flag){ 279 279 memcpy(&input_enum_type,marshalled_dataset,sizeof(int)); marshalled_dataset+=sizeof(int); 280 if(input_enum_type==Penta VertexInputEnum){281 gradient=new Penta VertexInput();280 if(input_enum_type==PentaP1InputEnum){ 281 gradient=new PentaP1Input(); 282 282 gradient->Demarshall(&marshalled_dataset); 283 283 } 284 else if(input_enum_type==Tria VertexInputEnum){285 gradient=new Tria VertexInput();284 else if(input_enum_type==TriaP1InputEnum){ 285 gradient=new TriaP1Input(); 286 286 gradient->Demarshall(&marshalled_dataset); 287 287 } -
issm/trunk-jpl/src/c/objects/Inputs/DoubleInput.cpp
r10135 r11291 340 340 switch(thickness_input->ObjectEnum()){ 341 341 342 case Penta VertexInputEnum:342 case PentaP1InputEnum: 343 343 thickness_input->GetInputAverage(&thickness_value); 344 344 this->value=this->value*thickness_value; -
issm/trunk-jpl/src/c/objects/Inputs/PentaP1Input.cpp
r11288 r11291 1 /*!\file Penta VertexInput.c2 * \brief: implementation of the Penta VertexInput object1 /*!\file PentaP1Input.c 2 * \brief: implementation of the PentaP1Input object 3 3 */ 4 4 … … 17 17 #include "../../include/include.h" 18 18 19 /*Penta VertexInput constructors and destructor*/20 /*FUNCTION Penta VertexInput::PentaVertexInput(){{{1*/21 Penta VertexInput::PentaVertexInput(){19 /*PentaP1Input constructors and destructor*/ 20 /*FUNCTION PentaP1Input::PentaP1Input(){{{1*/ 21 PentaP1Input::PentaP1Input(){ 22 22 return; 23 23 } 24 24 /*}}}*/ 25 /*FUNCTION Penta VertexInput::PentaVertexInput(int in_enum_type,double* values){{{1*/26 Penta VertexInput::PentaVertexInput(int in_enum_type,double* in_values)25 /*FUNCTION PentaP1Input::PentaP1Input(int in_enum_type,double* values){{{1*/ 26 PentaP1Input::PentaP1Input(int in_enum_type,double* in_values) 27 27 :PentaRef(1) 28 28 { … … 41 41 } 42 42 /*}}}*/ 43 /*FUNCTION Penta VertexInput::~PentaVertexInput(){{{1*/44 Penta VertexInput::~PentaVertexInput(){43 /*FUNCTION PentaP1Input::~PentaP1Input(){{{1*/ 44 PentaP1Input::~PentaP1Input(){ 45 45 return; 46 46 } … … 48 48 49 49 /*Object virtual functions definitions:*/ 50 /*FUNCTION Penta VertexInput::Echo {{{1*/51 void Penta VertexInput::Echo(void){50 /*FUNCTION PentaP1Input::Echo {{{1*/ 51 void PentaP1Input::Echo(void){ 52 52 this->DeepEcho(); 53 53 } 54 54 /*}}}*/ 55 /*FUNCTION Penta VertexInput::DeepEcho{{{1*/56 void Penta VertexInput::DeepEcho(void){57 58 printf("Penta VertexInput:\n");55 /*FUNCTION PentaP1Input::DeepEcho{{{1*/ 56 void PentaP1Input::DeepEcho(void){ 57 58 printf("PentaP1Input:\n"); 59 59 printf(" enum: %i (%s)\n",this->enum_type,EnumToStringx(this->enum_type)); 60 60 printf(" values: [%g %g %g %g %g %g]\n",this->values[0],this->values[1],this->values[2],this->values[3],this->values[4],this->values[5]); 61 61 } 62 62 /*}}}*/ 63 /*FUNCTION Penta VertexInput::Id{{{1*/64 int Penta VertexInput::Id(void){ return -1; }65 /*}}}*/ 66 /*FUNCTION Penta VertexInput::MyRank{{{1*/67 int Penta VertexInput::MyRank(void){63 /*FUNCTION PentaP1Input::Id{{{1*/ 64 int PentaP1Input::Id(void){ return -1; } 65 /*}}}*/ 66 /*FUNCTION PentaP1Input::MyRank{{{1*/ 67 int PentaP1Input::MyRank(void){ 68 68 extern int my_rank; 69 69 return my_rank; … … 71 71 /*}}}*/ 72 72 #ifdef _SERIAL_ 73 /*FUNCTION Penta VertexInput::Marshall{{{1*/74 void Penta VertexInput::Marshall(char** pmarshalled_dataset){73 /*FUNCTION PentaP1Input::Marshall{{{1*/ 74 void PentaP1Input::Marshall(char** pmarshalled_dataset){ 75 75 76 76 char* marshalled_dataset=NULL; … … 80 80 marshalled_dataset=*pmarshalled_dataset; 81 81 82 /*get enum value of Penta VertexInput: */83 enum_value=Penta VertexInputEnum;82 /*get enum value of PentaP1Input: */ 83 enum_value=PentaP1InputEnum; 84 84 85 85 /*marshall enum: */ 86 86 memcpy(marshalled_dataset,&enum_value,sizeof(enum_value));marshalled_dataset+=sizeof(enum_value); 87 87 88 /*marshall Penta VertexInput data: */88 /*marshall PentaP1Input data: */ 89 89 memcpy(marshalled_dataset,&enum_type,sizeof(enum_type));marshalled_dataset+=sizeof(enum_type); 90 90 memcpy(marshalled_dataset,&values,sizeof(values));marshalled_dataset+=sizeof(values); … … 93 93 } 94 94 /*}}}*/ 95 /*FUNCTION Penta VertexInput::MarshallSize{{{1*/96 int Penta VertexInput::MarshallSize(){95 /*FUNCTION PentaP1Input::MarshallSize{{{1*/ 96 int PentaP1Input::MarshallSize(){ 97 97 98 98 return sizeof(values)+ … … 101 101 } 102 102 /*}}}*/ 103 /*FUNCTION Penta VertexInput::Demarshall{{{1*/104 void Penta VertexInput::Demarshall(char** pmarshalled_dataset){103 /*FUNCTION PentaP1Input::Demarshall{{{1*/ 104 void PentaP1Input::Demarshall(char** pmarshalled_dataset){ 105 105 106 106 char* marshalled_dataset=NULL; … … 121 121 /*}}}*/ 122 122 #endif 123 /*FUNCTION Penta VertexInput::ObjectEnum{{{1*/124 int Penta VertexInput::ObjectEnum(void){125 126 return Penta VertexInputEnum;123 /*FUNCTION PentaP1Input::ObjectEnum{{{1*/ 124 int PentaP1Input::ObjectEnum(void){ 125 126 return PentaP1InputEnum; 127 127 128 128 } 129 129 /*}}}*/ 130 130 131 /*Penta VertexInput management*/132 /*FUNCTION Penta VertexInput::copy{{{1*/133 Object* Penta VertexInput::copy() {131 /*PentaP1Input management*/ 132 /*FUNCTION PentaP1Input::copy{{{1*/ 133 Object* PentaP1Input::copy() { 134 134 135 return new Penta VertexInput(this->enum_type,this->values);136 137 } 138 /*}}}*/ 139 /*FUNCTION Penta VertexInput::InstanceEnum{{{1*/140 int Penta VertexInput::InstanceEnum(void){135 return new PentaP1Input(this->enum_type,this->values); 136 137 } 138 /*}}}*/ 139 /*FUNCTION PentaP1Input::InstanceEnum{{{1*/ 140 int PentaP1Input::InstanceEnum(void){ 141 141 142 142 return this->enum_type; … … 144 144 } 145 145 /*}}}*/ 146 /*FUNCTION Penta VertexInput::SpawnTriaInput{{{1*/147 Input* Penta VertexInput::SpawnTriaInput(int* indices){146 /*FUNCTION PentaP1Input::SpawnTriaInput{{{1*/ 147 Input* PentaP1Input::SpawnTriaInput(int* indices){ 148 148 149 149 /*output*/ 150 Tria VertexInput* outinput=NULL;150 TriaP1Input* outinput=NULL; 151 151 double newvalues[3]; 152 152 … … 162 162 163 163 /*Create new Tria input*/ 164 outinput=new Tria VertexInput(this->enum_type,&newvalues[0]);164 outinput=new TriaP1Input(this->enum_type,&newvalues[0]); 165 165 166 166 /*Assign output*/ … … 169 169 } 170 170 /*}}}*/ 171 /*FUNCTION Penta VertexInput::SpawnResult{{{1*/172 ElementResult* Penta VertexInput::SpawnResult(int step, double time){171 /*FUNCTION PentaP1Input::SpawnResult{{{1*/ 172 ElementResult* PentaP1Input::SpawnResult(int step, double time){ 173 173 174 174 return new PentaVertexElementResult(this->enum_type,this->values,step,time); … … 178 178 179 179 /*Object functions*/ 180 /*FUNCTION Penta VertexInput::GetInputValue(double* pvalue,GaussPenta* gauss){{{1*/181 void Penta VertexInput::GetInputValue(double* pvalue,GaussPenta* gauss){180 /*FUNCTION PentaP1Input::GetInputValue(double* pvalue,GaussPenta* gauss){{{1*/ 181 void PentaP1Input::GetInputValue(double* pvalue,GaussPenta* gauss){ 182 182 183 183 /*Call PentaRef function*/ … … 186 186 } 187 187 /*}}}*/ 188 /*FUNCTION Penta VertexInput::GetInputDerivativeValue(double* p, double* xyz_list, GaussPenta* gauss){{{1*/189 void Penta VertexInput::GetInputDerivativeValue(double* p, double* xyz_list, GaussPenta* gauss){188 /*FUNCTION PentaP1Input::GetInputDerivativeValue(double* p, double* xyz_list, GaussPenta* gauss){{{1*/ 189 void PentaP1Input::GetInputDerivativeValue(double* p, double* xyz_list, GaussPenta* gauss){ 190 190 191 191 /*Call PentaRef function*/ … … 193 193 } 194 194 /*}}}*/ 195 /*FUNCTION Penta VertexInput::GetVxStrainRate3d{{{1*/196 void Penta VertexInput::GetVxStrainRate3d(double* epsilonvx,double* xyz_list, GaussPenta* gauss){195 /*FUNCTION PentaP1Input::GetVxStrainRate3d{{{1*/ 196 void PentaP1Input::GetVxStrainRate3d(double* epsilonvx,double* xyz_list, GaussPenta* gauss){ 197 197 int i,j; 198 198 … … 238 238 } 239 239 /*}}}*/ 240 /*FUNCTION Penta VertexInput::GetVyStrainRate3d{{{1*/241 void Penta VertexInput::GetVyStrainRate3d(double* epsilonvy,double* xyz_list, GaussPenta* gauss){240 /*FUNCTION PentaP1Input::GetVyStrainRate3d{{{1*/ 241 void PentaP1Input::GetVyStrainRate3d(double* epsilonvy,double* xyz_list, GaussPenta* gauss){ 242 242 int i,j; 243 243 … … 283 283 } 284 284 /*}}}*/ 285 /*FUNCTION Penta VertexInput::GetVzStrainRate3d{{{1*/286 void Penta VertexInput::GetVzStrainRate3d(double* epsilonvz,double* xyz_list, GaussPenta* gauss){285 /*FUNCTION PentaP1Input::GetVzStrainRate3d{{{1*/ 286 void PentaP1Input::GetVzStrainRate3d(double* epsilonvz,double* xyz_list, GaussPenta* gauss){ 287 287 int i,j; 288 288 … … 329 329 } 330 330 /*}}}*/ 331 /*FUNCTION Penta VertexInput::GetVxStrainRate3dPattyn{{{1*/332 void Penta VertexInput::GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, GaussPenta* gauss){331 /*FUNCTION PentaP1Input::GetVxStrainRate3dPattyn{{{1*/ 332 void PentaP1Input::GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, GaussPenta* gauss){ 333 333 334 334 int i; … … 353 353 } 354 354 /*}}}*/ 355 /*FUNCTION Penta VertexInput::GetVyStrainRate3dPattyn{{{1*/356 void Penta VertexInput::GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, GaussPenta* gauss){355 /*FUNCTION PentaP1Input::GetVyStrainRate3dPattyn{{{1*/ 356 void PentaP1Input::GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, GaussPenta* gauss){ 357 357 358 358 int i; … … 377 377 } 378 378 /*}}}*/ 379 /*FUNCTION Penta VertexInput::ChangeEnum{{{1*/380 void Penta VertexInput::ChangeEnum(int newenumtype){379 /*FUNCTION PentaP1Input::ChangeEnum{{{1*/ 380 void PentaP1Input::ChangeEnum(int newenumtype){ 381 381 this->enum_type=newenumtype; 382 382 } 383 383 /*}}}*/ 384 /*FUNCTION Penta VertexInput::GetInputAverage{{{1*/385 void Penta VertexInput::GetInputAverage(double* pvalue){384 /*FUNCTION PentaP1Input::GetInputAverage{{{1*/ 385 void PentaP1Input::GetInputAverage(double* pvalue){ 386 386 *pvalue=1./6.*(values[0]+values[1]+values[2]+values[3]+values[4]+values[5]); 387 387 } … … 389 389 390 390 /*Intermediary*/ 391 /*FUNCTION Penta VertexInput::SquareMin{{{1*/392 void Penta VertexInput::SquareMin(double* psquaremin, bool process_units,Parameters* parameters){391 /*FUNCTION PentaP1Input::SquareMin{{{1*/ 392 void PentaP1Input::SquareMin(double* psquaremin, bool process_units,Parameters* parameters){ 393 393 394 394 int i; … … 412 412 } 413 413 /*}}}*/ 414 /*FUNCTION Penta VertexInput::ConstrainMin{{{1*/415 void Penta VertexInput::ConstrainMin(double minimum){414 /*FUNCTION PentaP1Input::ConstrainMin{{{1*/ 415 void PentaP1Input::ConstrainMin(double minimum){ 416 416 417 417 int i; … … 421 421 } 422 422 /*}}}*/ 423 /*FUNCTION Penta VertexInput::InfinityNorm{{{1*/424 double Penta VertexInput::InfinityNorm(void){423 /*FUNCTION PentaP1Input::InfinityNorm{{{1*/ 424 double PentaP1Input::InfinityNorm(void){ 425 425 426 426 /*Output*/ … … 432 432 } 433 433 /*}}}*/ 434 /*FUNCTION Penta VertexInput::Max{{{1*/435 double Penta VertexInput::Max(void){434 /*FUNCTION PentaP1Input::Max{{{1*/ 435 double PentaP1Input::Max(void){ 436 436 437 437 const int numnodes=6; … … 444 444 } 445 445 /*}}}*/ 446 /*FUNCTION Penta VertexInput::MaxAbs{{{1*/447 double Penta VertexInput::MaxAbs(void){446 /*FUNCTION PentaP1Input::MaxAbs{{{1*/ 447 double PentaP1Input::MaxAbs(void){ 448 448 449 449 const int numnodes=6; … … 456 456 } 457 457 /*}}}*/ 458 /*FUNCTION Penta VertexInput::Min{{{1*/459 double Penta VertexInput::Min(void){458 /*FUNCTION PentaP1Input::Min{{{1*/ 459 double PentaP1Input::Min(void){ 460 460 461 461 const int numnodes=6; … … 468 468 } 469 469 /*}}}*/ 470 /*FUNCTION Penta VertexInput::MinAbs{{{1*/471 double Penta VertexInput::MinAbs(void){470 /*FUNCTION PentaP1Input::MinAbs{{{1*/ 471 double PentaP1Input::MinAbs(void){ 472 472 473 473 const int numnodes=6; … … 480 480 } 481 481 /*}}}*/ 482 /*FUNCTION Penta VertexInput::Scale{{{1*/483 void Penta VertexInput::Scale(double scale_factor){482 /*FUNCTION PentaP1Input::Scale{{{1*/ 483 void PentaP1Input::Scale(double scale_factor){ 484 484 485 485 int i; … … 489 489 } 490 490 /*}}}*/ 491 /*FUNCTION Penta VertexInput::AXPY{{{1*/492 void Penta VertexInput::AXPY(Input* xinput,double scalar){491 /*FUNCTION PentaP1Input::AXPY{{{1*/ 492 void PentaP1Input::AXPY(Input* xinput,double scalar){ 493 493 494 494 int i; … … 500 500 switch(xinput->ObjectEnum()){ 501 501 502 case Penta VertexInputEnum:{503 Penta VertexInput* cast_input=(PentaVertexInput*)xinput;502 case PentaP1InputEnum:{ 503 PentaP1Input* cast_input=(PentaP1Input*)xinput; 504 504 for(i=0;i<numnodes;i++)this->values[i]=this->values[i]+scalar*(cast_input->values[i]);} 505 505 return; 506 506 case ControlInputEnum:{ 507 507 ControlInput* cont_input=(ControlInput*)xinput; 508 if(cont_input->values->ObjectEnum()!=Penta VertexInputEnum) _error_("not supported yet");509 Penta VertexInput* cast_input=(PentaVertexInput*)cont_input->values;508 if(cont_input->values->ObjectEnum()!=PentaP1InputEnum) _error_("not supported yet"); 509 PentaP1Input* cast_input=(PentaP1Input*)cont_input->values; 510 510 for(i=0;i<numnodes;i++)this->values[i]=this->values[i]+scalar*(cast_input->values[i]);} 511 511 return; … … 516 516 } 517 517 /*}}}*/ 518 /*FUNCTION Penta VertexInput::Constrain{{{1*/519 void Penta VertexInput::Constrain(double cm_min, double cm_max){518 /*FUNCTION PentaP1Input::Constrain{{{1*/ 519 void PentaP1Input::Constrain(double cm_min, double cm_max){ 520 520 521 521 int i; … … 527 527 } 528 528 /*}}}*/ 529 /*FUNCTION Penta VertexInput::Extrude{{{1*/530 void Penta VertexInput::Extrude(void){529 /*FUNCTION PentaP1Input::Extrude{{{1*/ 530 void PentaP1Input::Extrude(void){ 531 531 532 532 int i; … … 536 536 } 537 537 /*}}}*/ 538 /*FUNCTION Penta VertexInput::VerticallyIntegrate{{{1*/539 void Penta VertexInput::VerticallyIntegrate(Input* thickness_input){538 /*FUNCTION PentaP1Input::VerticallyIntegrate{{{1*/ 539 void PentaP1Input::VerticallyIntegrate(Input* thickness_input){ 540 540 541 541 /*Intermediaries*/ … … 554 554 switch(thickness_input->ObjectEnum()){ 555 555 556 case Penta VertexInputEnum:556 case PentaP1InputEnum: 557 557 for(i=0;i<3;i++){ 558 558 this->values[i]=0.5*(this->values[i]+this->values[i+3]) * thickness_values[i]; … … 566 566 } 567 567 /*}}}*/ 568 /*FUNCTION Penta VertexInput::PointwiseDivide{{{1*/569 Input* Penta VertexInput::PointwiseDivide(Input* inputB){568 /*FUNCTION PentaP1Input::PointwiseDivide{{{1*/ 569 Input* PentaP1Input::PointwiseDivide(Input* inputB){ 570 570 571 571 /*Ouput*/ 572 Penta VertexInput* outinput=NULL;572 PentaP1Input* outinput=NULL; 573 573 574 574 /*Intermediaries*/ 575 575 int i; 576 Penta VertexInput *xinputB = NULL;576 PentaP1Input *xinputB = NULL; 577 577 int B_numvalues; 578 578 const int numnodes = 6; … … 580 580 581 581 /*Check that inputB is of the same type*/ 582 if (inputB->ObjectEnum()!=Penta VertexInputEnum) _error_("Operation not permitted because inputB is of type %s",EnumToStringx(inputB->ObjectEnum()));583 xinputB=(Penta VertexInput*)inputB;582 if (inputB->ObjectEnum()!=PentaP1InputEnum) _error_("Operation not permitted because inputB is of type %s",EnumToStringx(inputB->ObjectEnum())); 583 xinputB=(PentaP1Input*)inputB; 584 584 585 585 /*Create point wise sum*/ … … 590 590 591 591 /*Create new Penta vertex input (copy of current input)*/ 592 outinput=new Penta VertexInput(this->enum_type,&AdotBvalues[0]);592 outinput=new PentaP1Input(this->enum_type,&AdotBvalues[0]); 593 593 594 594 /*Return output pointer*/ … … 597 597 } 598 598 /*}}}*/ 599 /*FUNCTION Penta VertexInput::PointwiseMin{{{1*/600 Input* Penta VertexInput::PointwiseMin(Input* inputB){599 /*FUNCTION PentaP1Input::PointwiseMin{{{1*/ 600 Input* PentaP1Input::PointwiseMin(Input* inputB){ 601 601 602 602 /*Ouput*/ 603 Penta VertexInput* outinput=NULL;603 PentaP1Input* outinput=NULL; 604 604 605 605 /*Intermediaries*/ 606 606 int i; 607 Penta VertexInput *xinputB = NULL;607 PentaP1Input *xinputB = NULL; 608 608 int B_numvalues; 609 609 const int numnodes = 6; … … 611 611 612 612 /*Check that inputB is of the same type*/ 613 if (inputB->ObjectEnum()!=Penta VertexInputEnum) _error_("Operation not permitted because inputB is of type %s",EnumToStringx(inputB->ObjectEnum()));614 xinputB=(Penta VertexInput*)inputB;613 if (inputB->ObjectEnum()!=PentaP1InputEnum) _error_("Operation not permitted because inputB is of type %s",EnumToStringx(inputB->ObjectEnum())); 614 xinputB=(PentaP1Input*)inputB; 615 615 616 616 /*Create point wise min*/ … … 621 621 622 622 /*Create new Penta vertex input (copy of current input)*/ 623 outinput=new Penta VertexInput(this->enum_type,&minvalues[0]);623 outinput=new PentaP1Input(this->enum_type,&minvalues[0]); 624 624 625 625 /*Return output pointer*/ … … 628 628 } 629 629 /*}}}*/ 630 /*FUNCTION Penta VertexInput::PointwiseMax{{{1*/631 Input* Penta VertexInput::PointwiseMax(Input* inputB){630 /*FUNCTION PentaP1Input::PointwiseMax{{{1*/ 631 Input* PentaP1Input::PointwiseMax(Input* inputB){ 632 632 633 633 /*Ouput*/ 634 Penta VertexInput* outinput=NULL;634 PentaP1Input* outinput=NULL; 635 635 636 636 /*Intermediaries*/ 637 637 int i; 638 Penta VertexInput *xinputB = NULL;638 PentaP1Input *xinputB = NULL; 639 639 int B_numvalues; 640 640 const int numnodes = 6; … … 642 642 643 643 /*Check that inputB is of the same type*/ 644 if (inputB->ObjectEnum()!=Penta VertexInputEnum) _error_("Operation not permitted because inputB is of type %s",EnumToStringx(inputB->ObjectEnum()));645 xinputB=(Penta VertexInput*)inputB;644 if (inputB->ObjectEnum()!=PentaP1InputEnum) _error_("Operation not permitted because inputB is of type %s",EnumToStringx(inputB->ObjectEnum())); 645 xinputB=(PentaP1Input*)inputB; 646 646 647 647 /*Create point wise max*/ … … 652 652 653 653 /*Create new Penta vertex input (copy of current input)*/ 654 outinput=new Penta VertexInput(this->enum_type,&maxvalues[0]);654 outinput=new PentaP1Input(this->enum_type,&maxvalues[0]); 655 655 656 656 /*Return output pointer*/ … … 659 659 } 660 660 /*}}}*/ 661 /*FUNCTION Penta VertexInput::GetVectorFromInputs{{{1*/662 void Penta VertexInput::GetVectorFromInputs(Vec vector,int* doflist){661 /*FUNCTION PentaP1Input::GetVectorFromInputs{{{1*/ 662 void PentaP1Input::GetVectorFromInputs(Vec vector,int* doflist){ 663 663 664 664 const int numvertices=6; … … 666 666 667 667 } /*}}}*/ 668 /*FUNCTION Penta VertexInput::GetValuesPtr{{{1*/669 void Penta VertexInput::GetValuesPtr(double** pvalues,int* pnum_values){668 /*FUNCTION PentaP1Input::GetValuesPtr{{{1*/ 669 void PentaP1Input::GetValuesPtr(double** pvalues,int* pnum_values){ 670 670 671 671 *pvalues=this->values; … … 674 674 } 675 675 /*}}}*/ 676 /*FUNCTION Penta VertexInput::Configure{{{1*/677 void Penta VertexInput::Configure(Parameters* parameters){676 /*FUNCTION PentaP1Input::Configure{{{1*/ 677 void PentaP1Input::Configure(Parameters* parameters){ 678 678 /*do nothing: */ 679 679 } -
issm/trunk-jpl/src/c/objects/Inputs/PentaP1Input.h
r11288 r11291 1 /*! \file Penta VertexInput.h1 /*! \file PentaP1Input.h 2 2 * \brief: header file for triavertexinput object 3 3 */ … … 14 14 /*}}}*/ 15 15 16 class Penta VertexInput: public Input, public PentaRef{16 class PentaP1Input: public Input, public PentaRef{ 17 17 18 18 public: … … 21 21 double values[6]; 22 22 23 /*Penta VertexInput constructors, destructors: {{{1*/24 Penta VertexInput();25 Penta VertexInput(int enum_type,double* values);26 ~Penta VertexInput();23 /*PentaP1Input constructors, destructors: {{{1*/ 24 PentaP1Input(); 25 PentaP1Input(int enum_type,double* values); 26 ~PentaP1Input(); 27 27 /*}}}*/ 28 28 /*Object virtual functions definitions:{{{1 */ … … 39 39 Object* copy(); 40 40 /*}}}*/ 41 /*Penta VertexInput management: {{{1*/41 /*PentaP1Input management: {{{1*/ 42 42 int InstanceEnum(); 43 43 Input* SpawnTriaInput(int* indices); -
issm/trunk-jpl/src/c/objects/Inputs/TriaP1Input.cpp
r11288 r11291 1 /*!\file Tria VertexInput.c2 * \brief: implementation of the Tria VertexInput object1 /*!\file TriaP1Input.c 2 * \brief: implementation of the TriaP1Input object 3 3 */ 4 4 … … 17 17 #include "../../include/include.h" 18 18 19 /*Tria VertexInput constructors and destructor*/20 /*FUNCTION Tria VertexInput::TriaVertexInput(){{{1*/21 Tria VertexInput::TriaVertexInput(){19 /*TriaP1Input constructors and destructor*/ 20 /*FUNCTION TriaP1Input::TriaP1Input(){{{1*/ 21 TriaP1Input::TriaP1Input(){ 22 22 return; 23 23 } 24 24 /*}}}*/ 25 /*FUNCTION Tria VertexInput::TriaVertexInput(int in_enum_type,double* values){{{1*/26 Tria VertexInput::TriaVertexInput(int in_enum_type,double* in_values)25 /*FUNCTION TriaP1Input::TriaP1Input(int in_enum_type,double* values){{{1*/ 26 TriaP1Input::TriaP1Input(int in_enum_type,double* in_values) 27 27 :TriaRef(1) 28 28 { … … 41 41 } 42 42 /*}}}*/ 43 /*FUNCTION Tria VertexInput::~TriaVertexInput(){{{1*/44 Tria VertexInput::~TriaVertexInput(){43 /*FUNCTION TriaP1Input::~TriaP1Input(){{{1*/ 44 TriaP1Input::~TriaP1Input(){ 45 45 return; 46 46 } … … 48 48 49 49 /*Object virtual functions definitions:*/ 50 /*FUNCTION Tria VertexInput::Echo {{{1*/51 void Tria VertexInput::Echo(void){50 /*FUNCTION TriaP1Input::Echo {{{1*/ 51 void TriaP1Input::Echo(void){ 52 52 this->DeepEcho(); 53 53 } 54 54 /*}}}*/ 55 /*FUNCTION Tria VertexInput::DeepEcho{{{1*/56 void Tria VertexInput::DeepEcho(void){57 58 printf("Tria VertexInput:\n");55 /*FUNCTION TriaP1Input::DeepEcho{{{1*/ 56 void TriaP1Input::DeepEcho(void){ 57 58 printf("TriaP1Input:\n"); 59 59 printf(" enum: %i (%s)\n",this->enum_type,EnumToStringx(this->enum_type)); 60 60 printf(" values: [%g %g %g]\n",this->values[0],this->values[1],this->values[2]); 61 61 } 62 62 /*}}}*/ 63 /*FUNCTION Tria VertexInput::Id{{{1*/64 int Tria VertexInput::Id(void){ return -1; }65 /*}}}*/ 66 /*FUNCTION Tria VertexInput::MyRank{{{1*/67 int Tria VertexInput::MyRank(void){63 /*FUNCTION TriaP1Input::Id{{{1*/ 64 int TriaP1Input::Id(void){ return -1; } 65 /*}}}*/ 66 /*FUNCTION TriaP1Input::MyRank{{{1*/ 67 int TriaP1Input::MyRank(void){ 68 68 extern int my_rank; 69 69 return my_rank; … … 71 71 /*}}}*/ 72 72 #ifdef _SERIAL_ 73 /*FUNCTION Tria VertexInput::Marshall{{{1*/74 void Tria VertexInput::Marshall(char** pmarshalled_dataset){73 /*FUNCTION TriaP1Input::Marshall{{{1*/ 74 void TriaP1Input::Marshall(char** pmarshalled_dataset){ 75 75 76 76 char* marshalled_dataset=NULL; … … 80 80 marshalled_dataset=*pmarshalled_dataset; 81 81 82 /*get enum value of Tria VertexInput: */83 enum_value=Tria VertexInputEnum;82 /*get enum value of TriaP1Input: */ 83 enum_value=TriaP1InputEnum; 84 84 85 85 /*marshall enum: */ 86 86 memcpy(marshalled_dataset,&enum_value,sizeof(enum_value));marshalled_dataset+=sizeof(enum_value); 87 87 88 /*marshall Tria VertexInput data: */88 /*marshall TriaP1Input data: */ 89 89 memcpy(marshalled_dataset,&enum_type,sizeof(enum_type));marshalled_dataset+=sizeof(enum_type); 90 90 memcpy(marshalled_dataset,&values,sizeof(values));marshalled_dataset+=sizeof(values); … … 93 93 } 94 94 /*}}}*/ 95 /*FUNCTION Tria VertexInput::MarshallSize{{{1*/96 int Tria VertexInput::MarshallSize(){95 /*FUNCTION TriaP1Input::MarshallSize{{{1*/ 96 int TriaP1Input::MarshallSize(){ 97 97 98 98 return sizeof(values)+ … … 101 101 } 102 102 /*}}}*/ 103 /*FUNCTION Tria VertexInput::Demarshall{{{1*/104 void Tria VertexInput::Demarshall(char** pmarshalled_dataset){103 /*FUNCTION TriaP1Input::Demarshall{{{1*/ 104 void TriaP1Input::Demarshall(char** pmarshalled_dataset){ 105 105 106 106 char* marshalled_dataset=NULL; … … 121 121 /*}}}*/ 122 122 #endif 123 /*FUNCTION Tria VertexInput::ObjectEnum{{{1*/124 int Tria VertexInput::ObjectEnum(void){125 126 return Tria VertexInputEnum;127 128 } 129 /*}}}*/ 130 /*FUNCTION Tria VertexInput::copy{{{1*/131 Object* Tria VertexInput::copy() {132 133 return new Tria VertexInput(this->enum_type,this->values);134 135 } 136 /*}}}*/ 137 138 /*Tria VertexInput management*/139 /*FUNCTION Tria VertexInput::InstanceEnum{{{1*/140 int Tria VertexInput::InstanceEnum(void){123 /*FUNCTION TriaP1Input::ObjectEnum{{{1*/ 124 int TriaP1Input::ObjectEnum(void){ 125 126 return TriaP1InputEnum; 127 128 } 129 /*}}}*/ 130 /*FUNCTION TriaP1Input::copy{{{1*/ 131 Object* TriaP1Input::copy() { 132 133 return new TriaP1Input(this->enum_type,this->values); 134 135 } 136 /*}}}*/ 137 138 /*TriaP1Input management*/ 139 /*FUNCTION TriaP1Input::InstanceEnum{{{1*/ 140 int TriaP1Input::InstanceEnum(void){ 141 141 142 142 return this->enum_type; … … 144 144 } 145 145 /*}}}*/ 146 /*FUNCTION Tria VertexInput::SpawnTriaInput{{{1*/147 Input* Tria VertexInput::SpawnTriaInput(int* indices){146 /*FUNCTION TriaP1Input::SpawnTriaInput{{{1*/ 147 Input* TriaP1Input::SpawnTriaInput(int* indices){ 148 148 149 149 /*output*/ 150 Tria VertexInput* outinput=NULL;150 TriaP1Input* outinput=NULL; 151 151 152 152 /*Create new Tria input (copy of current input)*/ 153 outinput=new Tria VertexInput(this->enum_type,&this->values[0]);153 outinput=new TriaP1Input(this->enum_type,&this->values[0]); 154 154 155 155 /*Assign output*/ … … 158 158 } 159 159 /*}}}*/ 160 /*FUNCTION Tria VertexInput::SpawnResult{{{1*/161 ElementResult* Tria VertexInput::SpawnResult(int step, double time){160 /*FUNCTION TriaP1Input::SpawnResult{{{1*/ 161 ElementResult* TriaP1Input::SpawnResult(int step, double time){ 162 162 163 163 return new TriaVertexElementResult(this->enum_type,this->values,step,time); … … 167 167 168 168 /*Object functions*/ 169 /*FUNCTION Tria VertexInput::GetInputValue(double* pvalue,GaussTria* gauss){{{1*/170 void Tria VertexInput::GetInputValue(double* pvalue,GaussTria* gauss){169 /*FUNCTION TriaP1Input::GetInputValue(double* pvalue,GaussTria* gauss){{{1*/ 170 void TriaP1Input::GetInputValue(double* pvalue,GaussTria* gauss){ 171 171 172 172 /*Call TriaRef function*/ … … 175 175 } 176 176 /*}}}*/ 177 /*FUNCTION Tria VertexInput::GetInputDerivativeValue(double* p, double* xyz_list, GaussTria* gauss){{{1*/178 void Tria VertexInput::GetInputDerivativeValue(double* p, double* xyz_list, GaussTria* gauss){177 /*FUNCTION TriaP1Input::GetInputDerivativeValue(double* p, double* xyz_list, GaussTria* gauss){{{1*/ 178 void TriaP1Input::GetInputDerivativeValue(double* p, double* xyz_list, GaussTria* gauss){ 179 179 180 180 /*Call TriaRef function*/ … … 182 182 } 183 183 /*}}}*/ 184 /*FUNCTION Tria VertexInput::GetVxStrainRate2d{{{1*/185 void Tria VertexInput::GetVxStrainRate2d(double* epsilonvx,double* xyz_list, GaussTria* gauss){184 /*FUNCTION TriaP1Input::GetVxStrainRate2d{{{1*/ 185 void TriaP1Input::GetVxStrainRate2d(double* epsilonvx,double* xyz_list, GaussTria* gauss){ 186 186 187 187 /*Intermediary*/ … … 205 205 } 206 206 /*}}}*/ 207 /*FUNCTION Tria VertexInput::GetVyStrainRate2d{{{1*/208 void Tria VertexInput::GetVyStrainRate2d(double* epsilonvy,double* xyz_list, GaussTria* gauss){207 /*FUNCTION TriaP1Input::GetVyStrainRate2d{{{1*/ 208 void TriaP1Input::GetVyStrainRate2d(double* epsilonvy,double* xyz_list, GaussTria* gauss){ 209 209 210 210 /*Intermediary*/ … … 228 228 } 229 229 /*}}}*/ 230 /*FUNCTION Tria VertexInput::ChangeEnum{{{1*/231 void Tria VertexInput::ChangeEnum(int newenumtype){230 /*FUNCTION TriaP1Input::ChangeEnum{{{1*/ 231 void TriaP1Input::ChangeEnum(int newenumtype){ 232 232 this->enum_type=newenumtype; 233 233 } 234 234 /*}}}*/ 235 /*FUNCTION Tria VertexInput::GetInputAverage{{{1*/236 void Tria VertexInput::GetInputAverage(double* pvalue){235 /*FUNCTION TriaP1Input::GetInputAverage{{{1*/ 236 void TriaP1Input::GetInputAverage(double* pvalue){ 237 237 *pvalue=1./3.*(values[0]+values[1]+values[2]); 238 238 } … … 240 240 241 241 /*Intermediary*/ 242 /*FUNCTION Tria VertexInput::SquareMin{{{1*/243 void Tria VertexInput::SquareMin(double* psquaremin, bool process_units,Parameters* parameters){242 /*FUNCTION TriaP1Input::SquareMin{{{1*/ 243 void TriaP1Input::SquareMin(double* psquaremin, bool process_units,Parameters* parameters){ 244 244 245 245 int i; … … 263 263 } 264 264 /*}}}*/ 265 /*FUNCTION Tria VertexInput::ContrainMin{{{1*/266 void Tria VertexInput::ConstrainMin(double minimum){265 /*FUNCTION TriaP1Input::ContrainMin{{{1*/ 266 void TriaP1Input::ConstrainMin(double minimum){ 267 267 268 268 int i; … … 272 272 } 273 273 /*}}}*/ 274 /*FUNCTION Tria VertexInput::InfinityNorm{{{1*/275 double Tria VertexInput::InfinityNorm(void){274 /*FUNCTION TriaP1Input::InfinityNorm{{{1*/ 275 double TriaP1Input::InfinityNorm(void){ 276 276 277 277 /*Output*/ … … 283 283 } 284 284 /*}}}*/ 285 /*FUNCTION Tria VertexInput::Max{{{1*/286 double Tria VertexInput::Max(void){285 /*FUNCTION TriaP1Input::Max{{{1*/ 286 double TriaP1Input::Max(void){ 287 287 288 288 const int numnodes=3; … … 295 295 } 296 296 /*}}}*/ 297 /*FUNCTION Tria VertexInput::MaxAbs{{{1*/298 double Tria VertexInput::MaxAbs(void){297 /*FUNCTION TriaP1Input::MaxAbs{{{1*/ 298 double TriaP1Input::MaxAbs(void){ 299 299 300 300 const int numnodes=3; … … 307 307 } 308 308 /*}}}*/ 309 /*FUNCTION Tria VertexInput::Min{{{1*/310 double Tria VertexInput::Min(void){309 /*FUNCTION TriaP1Input::Min{{{1*/ 310 double TriaP1Input::Min(void){ 311 311 312 312 const int numnodes=3; … … 319 319 } 320 320 /*}}}*/ 321 /*FUNCTION Tria VertexInput::MinAbs{{{1*/322 double Tria VertexInput::MinAbs(void){321 /*FUNCTION TriaP1Input::MinAbs{{{1*/ 322 double TriaP1Input::MinAbs(void){ 323 323 324 324 const int numnodes=3; … … 331 331 } 332 332 /*}}}*/ 333 /*FUNCTION Tria VertexInput::Scale{{{1*/334 void Tria VertexInput::Scale(double scale_factor){333 /*FUNCTION TriaP1Input::Scale{{{1*/ 334 void TriaP1Input::Scale(double scale_factor){ 335 335 336 336 int i; … … 340 340 } 341 341 /*}}}*/ 342 /*FUNCTION Tria VertexInput::ArtificialNoise{{{1*/343 void Tria VertexInput::ArtificialNoise(double min,double max){342 /*FUNCTION TriaP1Input::ArtificialNoise{{{1*/ 343 void TriaP1Input::ArtificialNoise(double min,double max){ 344 344 345 345 int i; … … 356 356 } 357 357 /*}}}*/ 358 /*FUNCTION Tria VertexInput::AXPY{{{1*/359 void Tria VertexInput::AXPY(Input* xinput,double scalar){360 361 int i; 362 const int numnodes=3; 363 Tria VertexInput* xtriavertexinput=NULL;358 /*FUNCTION TriaP1Input::AXPY{{{1*/ 359 void TriaP1Input::AXPY(Input* xinput,double scalar){ 360 361 int i; 362 const int numnodes=3; 363 TriaP1Input* xtriavertexinput=NULL; 364 364 365 365 /*xinput is of the same type, so cast it: */ 366 xtriavertexinput=(Tria VertexInput*)xinput;366 xtriavertexinput=(TriaP1Input*)xinput; 367 367 368 368 /*Carry out the AXPY operation depending on type:*/ 369 369 switch(xinput->ObjectEnum()){ 370 370 371 case Tria VertexInputEnum :371 case TriaP1InputEnum : 372 372 for(i=0;i<numnodes;i++)this->values[i]=this->values[i]+scalar*xtriavertexinput->values[i]; 373 373 return; … … 379 379 } 380 380 /*}}}*/ 381 /*FUNCTION Tria VertexInput::Constrain{{{1*/382 void Tria VertexInput::Constrain(double cm_min, double cm_max){381 /*FUNCTION TriaP1Input::Constrain{{{1*/ 382 void TriaP1Input::Constrain(double cm_min, double cm_max){ 383 383 384 384 int i; … … 390 390 } 391 391 /*}}}*/ 392 /*FUNCTION Tria VertexInput::GetVectorFromInputs{{{1*/393 void Tria VertexInput::GetVectorFromInputs(Vec vector,int* doflist){392 /*FUNCTION TriaP1Input::GetVectorFromInputs{{{1*/ 393 void TriaP1Input::GetVectorFromInputs(Vec vector,int* doflist){ 394 394 395 395 const int numvertices=3; … … 397 397 398 398 } /*}}}*/ 399 /*FUNCTION Tria VertexInput::GetValuesPtr{{{1*/400 void Tria VertexInput::GetValuesPtr(double** pvalues,int* pnum_values){399 /*FUNCTION TriaP1Input::GetValuesPtr{{{1*/ 400 void TriaP1Input::GetValuesPtr(double** pvalues,int* pnum_values){ 401 401 402 402 *pvalues=this->values; … … 405 405 } 406 406 /*}}}*/ 407 /*FUNCTION Tria VertexInput::PointwiseMin{{{1*/408 Input* Tria VertexInput::PointwiseMin(Input* inputB){407 /*FUNCTION TriaP1Input::PointwiseMin{{{1*/ 408 Input* TriaP1Input::PointwiseMin(Input* inputB){ 409 409 410 410 /*Ouput*/ 411 Tria VertexInput* outinput=NULL;411 TriaP1Input* outinput=NULL; 412 412 413 413 /*Intermediaries*/ 414 414 int i; 415 Tria VertexInput *xinputB = NULL;415 TriaP1Input *xinputB = NULL; 416 416 int B_numvalues; 417 417 const int numnodes = 3; … … 419 419 420 420 /*Check that inputB is of the same type*/ 421 if (inputB->ObjectEnum()!=Tria VertexInputEnum) _error_("Operation not permitted because inputB is of type %s",EnumToStringx(inputB->ObjectEnum()));422 xinputB=(Tria VertexInput*)inputB;421 if (inputB->ObjectEnum()!=TriaP1InputEnum) _error_("Operation not permitted because inputB is of type %s",EnumToStringx(inputB->ObjectEnum())); 422 xinputB=(TriaP1Input*)inputB; 423 423 424 424 /*Create point wise min*/ … … 429 429 430 430 /*Create new Tria vertex input (copy of current input)*/ 431 outinput=new Tria VertexInput(this->enum_type,&minvalues[0]);431 outinput=new TriaP1Input(this->enum_type,&minvalues[0]); 432 432 433 433 /*Return output pointer*/ … … 436 436 } 437 437 /*}}}*/ 438 /*FUNCTION Tria VertexInput::PointwiseMax{{{1*/439 Input* Tria VertexInput::PointwiseMax(Input* inputB){438 /*FUNCTION TriaP1Input::PointwiseMax{{{1*/ 439 Input* TriaP1Input::PointwiseMax(Input* inputB){ 440 440 441 441 /*Ouput*/ 442 Tria VertexInput* outinput=NULL;442 TriaP1Input* outinput=NULL; 443 443 444 444 /*Intermediaries*/ 445 445 int i; 446 Tria VertexInput *xinputB = NULL;446 TriaP1Input *xinputB = NULL; 447 447 int B_numvalues; 448 448 const int numnodes = 3; … … 450 450 451 451 /*Check that inputB is of the same type*/ 452 if (inputB->ObjectEnum()!=Tria VertexInputEnum) _error_("Operation not permitted because inputB is of type %s",EnumToStringx(inputB->ObjectEnum()));453 xinputB=(Tria VertexInput*)inputB;452 if (inputB->ObjectEnum()!=TriaP1InputEnum) _error_("Operation not permitted because inputB is of type %s",EnumToStringx(inputB->ObjectEnum())); 453 xinputB=(TriaP1Input*)inputB; 454 454 455 455 /*Create point wise max*/ … … 460 460 461 461 /*Create new Tria vertex input (copy of current input)*/ 462 outinput=new Tria VertexInput(this->enum_type,&maxvalues[0]);462 outinput=new TriaP1Input(this->enum_type,&maxvalues[0]); 463 463 464 464 /*Return output pointer*/ … … 467 467 } 468 468 /*}}}*/ 469 /*FUNCTION Tria VertexInput::Configure{{{1*/470 void Tria VertexInput::Configure(Parameters* parameters){469 /*FUNCTION TriaP1Input::Configure{{{1*/ 470 void TriaP1Input::Configure(Parameters* parameters){ 471 471 /*do nothing: */ 472 472 } -
issm/trunk-jpl/src/c/objects/Inputs/TriaP1Input.h
r11288 r11291 1 /*! \file Tria VertexInput.h2 * \brief: header file for triavertexinput object1 /*! \file TriaP1Input.h 2 * \brief: header file for TriaP1Input object 3 3 */ 4 4 5 5 6 #ifndef _TRIA VERTEXINPUT_H_7 #define _TRIA VERTEXINPUT_H_6 #ifndef _TRIAP1INPUT_H_ 7 #define _TRIAP1INPUT_H_ 8 8 9 9 /*Headers:*/ … … 14 14 /*}}}*/ 15 15 16 class Tria VertexInput: public Input,public TriaRef{16 class TriaP1Input: public Input,public TriaRef{ 17 17 18 18 public: … … 21 21 double values[3]; 22 22 23 /*Tria VertexInput constructors, destructors: {{{1*/24 Tria VertexInput();25 Tria VertexInput(int enum_type,double* values);26 ~Tria VertexInput();23 /*TriaP1Input constructors, destructors: {{{1*/ 24 TriaP1Input(); 25 TriaP1Input(int enum_type,double* values); 26 ~TriaP1Input(); 27 27 /*}}}*/ 28 28 /*Object virtual functions definitions:{{{1 */ … … 39 39 Object* copy(); 40 40 /*}}}*/ 41 /*Tria VertexInput management: {{{1*/41 /*TriaP1Input management: {{{1*/ 42 42 int InstanceEnum(); 43 43 Input* SpawnTriaInput(int* indices); … … 87 87 88 88 }; 89 #endif /* _TRIA VERTEXINPUT_H */89 #endif /* _TRIAP1INPUT_H */ -
issm/trunk-jpl/src/c/objects/Materials/Matice.cpp
r10970 r11291 552 552 double values[3]; 553 553 for (int i=0;i<3;i++) values[i]=vector[((Tria*)element)->nodes[i]->GetVertexDof()]; 554 this->inputs->AddInput(new Tria VertexInput(name,values));554 this->inputs->AddInput(new TriaP1Input(name,values)); 555 555 return; 556 556 … … 594 594 double values[3]; 595 595 for (int i=0;i<3;i++) values[i]=vector[((Tria*)element)->nodes[i]->GetSidList()]; //use sid list, to index into serial oriented vector 596 this->inputs->AddInput(new Tria VertexInput(name,values));596 this->inputs->AddInput(new TriaP1Input(name,values)); 597 597 /*Special case for rheology B in 2D: Pourave land for this solution{{{2*/ 598 598 if(name==MaterialsRheologyBEnum){ … … 607 607 if(dim==2){ 608 608 /*Dupliacte rheology input: */ 609 this->inputs->AddInput(new Tria VertexInput(MaterialsRheologyBbarEnum,values));609 this->inputs->AddInput(new TriaP1Input(MaterialsRheologyBbarEnum,values)); 610 610 } 611 611 } … … 683 683 if (iomodel->Data(MaterialsRheologyBEnum)) { 684 684 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyBEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+i]-1)]; 685 this->inputs->AddInput(new Tria VertexInput(MaterialsRheologyBbarEnum,nodeinputs));685 this->inputs->AddInput(new TriaP1Input(MaterialsRheologyBbarEnum,nodeinputs)); 686 686 } 687 687 … … 689 689 if (iomodel->Data(MaterialsRheologyNEnum)) { 690 690 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyNEnum)[index]; 691 this->inputs->AddInput(new Tria VertexInput(MaterialsRheologyNEnum,nodeinputs));691 this->inputs->AddInput(new TriaP1Input(MaterialsRheologyNEnum,nodeinputs)); 692 692 } 693 693 … … 703 703 for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 704 704 for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 705 this->inputs->AddInput(new ControlInput(MaterialsRheologyBbarEnum,Tria VertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));705 this->inputs->AddInput(new ControlInput(MaterialsRheologyBbarEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 706 706 } 707 707 break; … … 725 725 if (iomodel->Data(MaterialsRheologyBEnum)) { 726 726 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyBEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+i]-1)]; 727 this->inputs->AddInput(new Penta VertexInput(MaterialsRheologyBEnum,nodeinputs));727 this->inputs->AddInput(new PentaP1Input(MaterialsRheologyBEnum,nodeinputs)); 728 728 } 729 729 … … 731 731 if (iomodel->Data(MaterialsRheologyNEnum)) { 732 732 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyNEnum)[index]; 733 this->inputs->AddInput(new Penta VertexInput(MaterialsRheologyNEnum,nodeinputs));733 this->inputs->AddInput(new PentaP1Input(MaterialsRheologyNEnum,nodeinputs)); 734 734 } 735 735 … … 745 745 for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 746 746 for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 747 this->inputs->AddInput(new ControlInput(MaterialsRheologyBEnum,Penta VertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));747 this->inputs->AddInput(new ControlInput(MaterialsRheologyBEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 748 748 } 749 749 break; -
issm/trunk-jpl/src/c/objects/objects.h
r10840 r11291 88 88 #include "./Inputs/DoubleInput.h" 89 89 #include "./Inputs/IntInput.h" 90 #include "./Inputs/Penta VertexInput.h"91 #include "./Inputs/Tria VertexInput.h"90 #include "./Inputs/PentaP1Input.h" 91 #include "./Inputs/TriaP1Input.h" 92 92 #include "./Inputs/ControlInput.h" 93 93 #include "./Inputs/DatasetInput.h"
Note:
See TracChangeset
for help on using the changeset viewer.