Changeset 24379
- Timestamp:
- 11/21/19 14:54:55 (5 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 1 deleted
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/Makefile.am
r24335 r24379 74 74 ./classes/FemModel.cpp\ 75 75 ./classes/Loads/Friction.cpp\ 76 ./classes/Inputs/TransientInput.cpp\77 76 ./classes/Constraints/SpcTransient.cpp\ 78 77 ./classes/DependentObject.cpp\ … … 103 102 ./classes/Elements/Penta.cpp\ 104 103 ./classes/Elements/PentaRef.cpp\ 105 ./classes/Inputs/Inputs.cpp\106 ./classes/Inputs/SegInput.cpp\107 ./classes/Inputs/TriaInput.cpp\108 ./classes/Inputs/BoolInput.cpp\109 ./classes/Inputs/IntInput.cpp\110 ./classes/Inputs/DoubleInput.cpp\111 ./classes/Inputs/DoubleArrayInput.cpp\112 ./classes/Inputs/DatasetInput.cpp\113 104 ./classes/Materials/Materials.cpp\ 114 105 ./classes/Materials/Matice.cpp\ … … 292 283 ./modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.cpp\ 293 284 ./modules/RheologyBAbsGradientx/RheologyBAbsGradientx.cpp\ 294 ./classes/Inputs/ControlInput.cpp\295 285 ./shared/Numerics/BrentSearch.cpp\ 296 286 ./cores/control_core.cpp\ … … 325 315 ./modules/OutputDefinitionsResponsex/OutputDefinitionsResponsex.cpp\ 326 316 ./modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp\ 327 ./classes/Inputs/PentaInput.cpp\328 ./classes/Inputs/TetraInput.cpp\329 317 ./classes/Inputs2/Inputs2.cpp\ 330 318 ./classes/Inputs2/BoolInput2.cpp\ -
issm/trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp
r24335 r24379 20 20 #include "../modules/SurfaceAreax/SurfaceAreax.h" 21 21 #include "../classes/Params/Parameters.h" 22 #include "../classes/Inputs/Input.h"23 22 #include "../classes/gauss/Gauss.h" 24 23 #include "./Inputs2/DatasetInput2.h" -
issm/trunk-jpl/src/c/classes/Cfsurfacelogvel.cpp
r24335 r24379 20 20 #include "../modules/SurfaceAreax/SurfaceAreax.h" 21 21 #include "../classes/Params/Parameters.h" 22 #include "../classes/Inputs/Input.h"23 22 #include "../classes/gauss/Gauss.h" 24 23 #include "./Inputs2/DatasetInput2.h" -
issm/trunk-jpl/src/c/classes/Cfsurfacesquare.cpp
r24335 r24379 20 20 #include "../modules/SurfaceAreax/SurfaceAreax.h" 21 21 #include "../classes/Params/Parameters.h" 22 #include "../classes/Inputs/Input.h"23 22 #include "../classes/gauss/Gauss.h" 24 23 #include "./Inputs2/DatasetInput2.h" -
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r24378 r24379 1864 1864 else if(M==iomodel->numberofvertices+1 && N>1){ 1865 1865 _error_("not supported tet"); 1866 / *create transient input: */1867 IssmDouble* times = xNew<IssmDouble>(N);1868 for(int t=0;t<N;t++) times[t] = vector[(M-1)*N+t];1869 / *Create the three transient inputs for the control input*/1870 TransientInput* values_input=new TransientInput(input_enum,times,N);1871 TransientInput* mins_input = new TransientInput(ControlInputMinsEnum,times,N);1872 TransientInput* maxs_input = new TransientInput(ControlInputMaxsEnum,times,N);1873 TransientInput* grad_input = new TransientInput(ControlInputGradEnum);1874 for(int t=0;t<N;t++){1875 for(int i=0;i<numvertices;i++){1876 values[i]=vector[N*(vertexids[i]-1)+t];1877 values_min[i] = min_vector[N*(vertexids[i]-1)+t];1878 values_max[i] = max_vector[N*(vertexids[i]-1)+t];1879 }1880 switch(this->ObjectEnum()){1881 case TriaEnum:1882 values_input->AddTimeInput(new TriaInput(input_enum,values,P1Enum));1883 mins_input->AddTimeInput(new TriaInput(ControlInputMinsEnum,values_min,P1Enum));1884 maxs_input->AddTimeInput(new TriaInput(ControlInputMaxsEnum,values_max,P1Enum));1885 break;1886 case PentaEnum:1887 values_input->AddTimeInput(new PentaInput(input_enum,values,P1Enum));1888 mins_input->AddTimeInput(new PentaInput(ControlInputMinsEnum,values_min,P1Enum));1889 maxs_input->AddTimeInput(new PentaInput(ControlInputMaxsEnum,values_max,P1Enum));1890 break;1891 case TetraEnum:1892 values_input->AddTimeInput(new TetraInput(input_enum,values,P1Enum));1893 mins_input->AddTimeInput(new TetraInput(ControlInputMinsEnum,values_min,P1Enum));1894 maxs_input->AddTimeInput(new TetraInput(ControlInputMaxsEnum,values_max,P1Enum));1895 break;1896 default: _error_("Not implemented yet");1897 }1898 }1866 ///*create transient input: */ 1867 //IssmDouble* times = xNew<IssmDouble>(N); 1868 //for(int t=0;t<N;t++) times[t] = vector[(M-1)*N+t]; 1869 ///*Create the three transient inputs for the control input*/ 1870 //TransientInput* values_input=new TransientInput(input_enum,times,N); 1871 //TransientInput* mins_input = new TransientInput(ControlInputMinsEnum,times,N); 1872 //TransientInput* maxs_input = new TransientInput(ControlInputMaxsEnum,times,N); 1873 //TransientInput* grad_input = new TransientInput(ControlInputGradEnum); 1874 //for(int t=0;t<N;t++){ 1875 // for(int i=0;i<numvertices;i++){ 1876 // values[i]=vector[N*(vertexids[i]-1)+t]; 1877 // values_min[i] = min_vector[N*(vertexids[i]-1)+t]; 1878 // values_max[i] = max_vector[N*(vertexids[i]-1)+t]; 1879 // } 1880 // switch(this->ObjectEnum()){ 1881 // case TriaEnum: 1882 // values_input->AddTimeInput(new TriaInput(input_enum,values,P1Enum)); 1883 // mins_input->AddTimeInput(new TriaInput(ControlInputMinsEnum,values_min,P1Enum)); 1884 // maxs_input->AddTimeInput(new TriaInput(ControlInputMaxsEnum,values_max,P1Enum)); 1885 // break; 1886 // case PentaEnum: 1887 // values_input->AddTimeInput(new PentaInput(input_enum,values,P1Enum)); 1888 // mins_input->AddTimeInput(new PentaInput(ControlInputMinsEnum,values_min,P1Enum)); 1889 // maxs_input->AddTimeInput(new PentaInput(ControlInputMaxsEnum,values_max,P1Enum)); 1890 // break; 1891 // case TetraEnum: 1892 // values_input->AddTimeInput(new TetraInput(input_enum,values,P1Enum)); 1893 // mins_input->AddTimeInput(new TetraInput(ControlInputMinsEnum,values_min,P1Enum)); 1894 // maxs_input->AddTimeInput(new TetraInput(ControlInputMaxsEnum,values_max,P1Enum)); 1895 // break; 1896 // default: _error_("Not implemented yet"); 1897 // } 1898 //} 1899 1899 //this->inputs->AddInput(new ControlInput(input_enum,TransientInputEnum,values_input,mins_input,maxs_input,grad_input,P1Enum,id)); 1900 xDelete<IssmDouble>(times);1900 //xDelete<IssmDouble>(times); 1901 1901 } 1902 1902 else _error_("not currently supported type of M and N attempted"); … … 1996 1996 else if(M==iomodel->numberofelements+1){ 1997 1997 _error_("not supported"); 1998 / *create transient input: */1999 IssmDouble* times = xNew<IssmDouble>(N);2000 for(t=0;t<N;t++) times[t] = vector[(M-1)*N+t];2001 TransientInput* transientinput=new TransientInput(input_enum,times,N);2002 TriaInput* bof=NULL;2003 for(t=0;t<N;t++){2004 value=vector[N*this->Sid()+t];2005 switch(this->ObjectEnum()){2006 case TriaEnum: transientinput->AddTimeInput(new TriaInput( input_enum,&value,P0Enum)); break;2007 case PentaEnum: transientinput->AddTimeInput(new PentaInput(input_enum,&value,P0Enum)); break;2008 case TetraEnum: transientinput->AddTimeInput(new TetraInput(input_enum,&value,P0Enum)); break;2009 default: _error_("Not implemented yet");2010 }2011 }2012 xDelete<IssmDouble>(times);1998 ///*create transient input: */ 1999 //IssmDouble* times = xNew<IssmDouble>(N); 2000 //for(t=0;t<N;t++) times[t] = vector[(M-1)*N+t]; 2001 //TransientInput* transientinput=new TransientInput(input_enum,times,N); 2002 //TriaInput* bof=NULL; 2003 //for(t=0;t<N;t++){ 2004 // value=vector[N*this->Sid()+t]; 2005 // switch(this->ObjectEnum()){ 2006 // case TriaEnum: transientinput->AddTimeInput(new TriaInput( input_enum,&value,P0Enum)); break; 2007 // case PentaEnum: transientinput->AddTimeInput(new PentaInput(input_enum,&value,P0Enum)); break; 2008 // case TetraEnum: transientinput->AddTimeInput(new TetraInput(input_enum,&value,P0Enum)); break; 2009 // default: _error_("Not implemented yet"); 2010 // } 2011 //} 2012 //xDelete<IssmDouble>(times); 2013 2013 } 2014 2014 else _error_("element vector is either numberofelements or numberofelements+1 long. Field provided (" << EnumToStringx(input_enum) << ") is " << M << " long"); … … 2017 2017 _error_("not supported"); 2018 2018 2019 / *For right now we are static */2020 if(M==iomodel->numberofelements){2021 /*create transient input: */2022 IssmDouble* layers = xNewZeroInit<IssmDouble>(N);;2023 for(t=0;t<N;t++) layers[t] = vector[N*this->Sid()+t];2024 DoubleArrayInput* arrayinput=new DoubleArrayInput(input_enum,layers,N);2025 xDelete<IssmDouble>(layers);2026 }2027 else _error_("element vector is either numberofelements or numberofelements+1 long. Field provided (" << EnumToStringx(input_enum) << ") is " << M << " long");2019 ///*For right now we are static */ 2020 //if(M==iomodel->numberofelements){ 2021 // /*create transient input: */ 2022 // IssmDouble* layers = xNewZeroInit<IssmDouble>(N);; 2023 // for(t=0;t<N;t++) layers[t] = vector[N*this->Sid()+t]; 2024 // DoubleArrayInput* arrayinput=new DoubleArrayInput(input_enum,layers,N); 2025 // xDelete<IssmDouble>(layers); 2026 //} 2027 //else _error_("element vector is either numberofelements or numberofelements+1 long. Field provided (" << EnumToStringx(input_enum) << ") is " << M << " long"); 2028 2028 } 2029 2029 else{ -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r24378 r24379 240 240 } 241 241 /*Create inputs and add to DataSetInput*/ 242 DatasetInput* datasetinput=new DatasetInput(input_enum);243 for(int i=0;i<num_inputs;i++){244 for(int j=0;j<NUMVERTICES;j++)nodeinputs[j]=array[(penta_vertex_ids[j]-1)*N+i];245 _error_("not supported");246 //datasetinput->AddInput(new PentaInput(input_enum,nodeinputs,P1Enum),individual_enums[i]);247 }242 // DatasetInput* datasetinput=new DatasetInput(input_enum); 243 // for(int i=0;i<num_inputs;i++){ 244 // for(int j=0;j<NUMVERTICES;j++)nodeinputs[j]=array[(penta_vertex_ids[j]-1)*N+i]; 245 // _error_("not supported"); 246 // //datasetinput->AddInput(new PentaInput(input_enum,nodeinputs,P1Enum),individual_enums[i]); 247 // } 248 248 249 249 /*Add datasetinput to element inputs*/ -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r24378 r24379 243 243 } 244 244 /*Create inputs and add to DataSetInput*/ 245 DatasetInput* datasetinput=new DatasetInput(input_enum);245 //DatasetInput* datasetinput=new DatasetInput(input_enum); 246 246 for(int i=0;i<num_inputs;i++){ 247 247 for(int j=0;j<NUMVERTICES;j++)nodeinputs[j]=array[(tria_vertex_ids[j]-1)*N+i]; … … 2515 2515 for(int t=0;t<transientinput->numtimesteps;t++) { 2516 2516 IssmDouble time = transientinput->GetTimeByOffset(t); 2517 TriaInput* timeinput = xDynamicCast<TriaInput*>(transientinput->GetTimeInput(time)); 2518 if(timeinput->interpolation_type!=P1Enum) _error_("not supported yet"); 2519 input->Serve(NUMVERTICES,&lidlist[0]); 2520 /*Create list of indices and values for global vector*/ 2521 for(int i=0;i<NUMVERTICES;i++){ 2522 idlist[N*i+t] = offset + this->vertices[i]->Sid()+t*M[control_index]; 2523 values[N*i+t] = timeinput->values[i]; 2524 } 2517 _error_("not implemented"); 2518 //TriaInput* timeinput = xDynamicCast<TriaInput*>(transientinput->GetTimeInput(time)); 2519 //if(timeinput->interpolation_type!=P1Enum) _error_("not supported yet"); 2520 //input->Serve(NUMVERTICES,&lidlist[0]); 2521 ///*Create list of indices and values for global vector*/ 2522 //for(int i=0;i<NUMVERTICES;i++){ 2523 // idlist[N*i+t] = offset + this->vertices[i]->Sid()+t*M[control_index]; 2524 // values[N*i+t] = timeinput->values[i]; 2525 //} 2525 2526 } 2526 2527 vector->SetValues(NUMVERTICES*transientinput->numtimesteps,idlist,values,INS_VAL); -
issm/trunk-jpl/src/c/classes/Inputs2/DatasetInput2.h
r24335 r24379 1 /*! \file DatasetInput .h1 /*! \file DatasetInput2.h 2 2 * \brief: header file for datasetinput object 3 3 */ -
issm/trunk-jpl/src/c/classes/Materials/Matestar.cpp
r24377 r24379 11 11 #include "./Matestar.h" 12 12 #include "./Materials.h" 13 #include "../Inputs/Input.h"14 #include "../Inputs/Inputs.h"15 #include "../Inputs/TriaInput.h"16 #include "../Inputs/PentaInput.h"17 #include "../Inputs/ControlInput.h"18 13 #include "../Elements/Element.h" 19 14 #include "../Elements/Tria.h" -
issm/trunk-jpl/src/c/classes/Materials/Matice.cpp
r24377 r24379 11 11 #include "./Matice.h" 12 12 #include "./Materials.h" 13 #include "../Inputs/Input.h"14 #include "../Inputs/Inputs.h"15 #include "../Inputs/TriaInput.h"16 #include "../Inputs/PentaInput.h"17 #include "../Inputs/ControlInput.h"18 13 #include "../Elements/Element.h" 19 14 #include "../Elements/Tria.h" -
issm/trunk-jpl/src/c/classes/Misfit.cpp
r24335 r24379 20 20 #include "../modules/SurfaceAreax/SurfaceAreax.h" 21 21 #include "../classes/Params/Parameters.h" 22 #include "../classes/Inputs/Input.h"23 22 #include "../classes/gauss/Gauss.h" 24 23 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Nodalvalue.cpp
r23066 r24379 15 15 #include "../modules/SurfaceAreax/SurfaceAreax.h" 16 16 #include "../classes/Params/Parameters.h" 17 #include "../classes/Inputs/Input.h"18 17 #include "../classes/gauss/Gauss.h" 19 18 #include "./classes.h" -
issm/trunk-jpl/src/c/classes/Radar.cpp
r24377 r24379 17 17 #include "./FemModel.h" 18 18 #include "../classes/Params/Parameters.h" 19 #include "../classes/Inputs/Input.h"20 19 #include "../classes/gauss/Gauss.h" 21 20 #include "./Radar.h" -
issm/trunk-jpl/src/c/classes/classes.h
r24335 r24379 66 66 #include "./Options/OptionUtilities.h" 67 67 68 /*Inputs: */69 #include "./Inputs/Inputs.h"70 #include "./Inputs/Input.h"71 #include "./Inputs/BoolInput.h"72 #include "./Inputs/DoubleInput.h"73 #include "./Inputs/DoubleArrayInput.h"74 #include "./Inputs/IntInput.h"75 #include "./Inputs/TetraInput.h"76 #include "./Inputs/PentaInput.h"77 #include "./Inputs/TriaInput.h"78 #include "./Inputs/SegInput.h"79 #include "./Inputs/ControlInput.h"80 #include "./Inputs/DatasetInput.h"81 #include "./Inputs/TransientInput.h"82 83 68 /*Inputs2*/ 84 69 #include "./Inputs2/Inputs2.h" -
issm/trunk-jpl/src/c/datastructures/DataSet.cpp
r23690 r24379 215 215 this->AddObject(seg); 216 216 } 217 else if(obj_enum==BoolInputEnum){218 BoolInput* boolinput=NULL;219 boolinput=new BoolInput();220 boolinput->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);221 this->AddObject(boolinput);222 }223 else if(obj_enum==DoubleInputEnum){224 DoubleInput* doubleinput=NULL;225 doubleinput=new DoubleInput();226 doubleinput->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);227 this->AddObject(doubleinput);228 }229 else if(obj_enum==IntInputEnum){230 IntInput* intinput=NULL;231 intinput=new IntInput();232 intinput->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);233 this->AddObject(intinput);234 }235 else if(obj_enum==ControlInputEnum){236 ControlInput* cinput=NULL;237 cinput=new ControlInput();238 cinput->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);239 this->AddObject(cinput);240 }241 else if(obj_enum==TransientInputEnum){242 TransientInput* transinput=NULL;243 transinput=new TransientInput();244 transinput->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);245 this->AddObject(transinput);246 }247 else if(obj_enum==TriaInputEnum){248 TriaInput* triainput=NULL;249 triainput=new TriaInput();250 triainput->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);251 this->AddObject(triainput);252 }253 else if(obj_enum==PentaInputEnum){254 PentaInput* pentainput=NULL;255 pentainput=new PentaInput();256 pentainput->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);257 this->AddObject(pentainput);258 }259 else if(obj_enum==TetraInputEnum){260 TetraInput* tetrainput=NULL;261 tetrainput=new TetraInput();262 tetrainput->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);263 this->AddObject(tetrainput);264 }265 else if(obj_enum==SegInputEnum){266 SegInput* seginput=NULL;267 seginput=new SegInput();268 seginput->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);269 this->AddObject(seginput);270 }271 217 else if(obj_enum==RiftfrontEnum){ 272 218 Riftfront* rift=NULL;
Note:
See TracChangeset
for help on using the changeset viewer.