Changeset 14809
- Timestamp:
- 04/30/13 12:22:28 (12 years ago)
- Location:
- issm/trunk-jpl/src/c/classes/objects/Inputs
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/objects/Inputs/BoolInput.h
r14648 r14809 56 56 void GetInputAverage(IssmDouble* pvalue){_error_("not implemented yet");}; 57 57 void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");}; 58 void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");}; 58 59 void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");}; 59 60 void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/objects/Inputs/ControlInput.h
r14648 r14809 61 61 void GetInputAverage(IssmDouble* pvalue); 62 62 void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");}; 63 void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");}; 63 64 void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");}; 64 65 void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/objects/Inputs/DatasetInput.h
r14648 r14809 55 55 void GetInputAverage(IssmDouble* pvalue){_error_("not implemented yet");}; 56 56 void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");}; 57 void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");}; 57 58 void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");}; 58 59 void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/objects/Inputs/DoubleInput.h
r14648 r14809 55 55 void GetInputAverage(IssmDouble* pvalue); 56 56 void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");}; 57 void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");}; 57 58 void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss); 58 59 void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss); -
issm/trunk-jpl/src/c/classes/objects/Inputs/Input.h
r14648 r14809 35 35 virtual void GetInputAverage(IssmDouble* pvalue)=0; 36 36 virtual void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes)=0; 37 virtual void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime)=0; 37 38 virtual void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss)=0; 38 39 virtual void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss)=0; -
issm/trunk-jpl/src/c/classes/objects/Inputs/IntInput.h
r14648 r14809 56 56 void GetInputAverage(IssmDouble* pvalue){_error_("not implemented yet");}; 57 57 void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");}; 58 void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");}; 58 59 59 60 void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/objects/Inputs/PentaP1Input.h
r14648 r14809 56 56 void GetInputAverage(IssmDouble* pvalue); 57 57 void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");}; 58 void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");}; 58 59 59 60 void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/objects/Inputs/TransientInput.cpp
r14650 r14809 247 247 } 248 248 /*}}}*/ 249 /*FUNCTION TransientInput::GetInputA verages{{{*/249 /*FUNCTION TransientInput::GetInputAllTimeAverages{{{*/ 250 250 void TransientInput::GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){ 251 251 … … 262 262 input->GetInputAverage(values+i); 263 263 times[i]=this->timesteps[i]; 264 } 265 266 *pvalues=values; 267 *ptimes=times; 268 *pnumtimes=numtimesteps; 269 } 270 /*}}}*/ 271 /*FUNCTION TransientInput::GetInputUpToCurrentTimeAverages{{{*/ 272 void TransientInput::GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){ 273 274 int i; 275 IssmDouble* times=NULL; 276 IssmDouble* values=NULL; 277 int numsteps; 278 int count; 279 bool iscurrenttime_included=false; 280 281 /*Figure out how many time steps we are going to return: */ 282 numsteps=0; 283 for(i=0;i<numtimesteps;i++){ 284 if(this->timesteps[i]==currenttime)iscurrenttime_included=true; 285 if (this->timesteps[i]>currenttime)break; 286 else numsteps++; 287 } 288 if(iscurrenttime_included==false)numsteps++; 289 290 /*allocate: */ 291 times=xNew<IssmDouble>(numsteps); 292 values=xNew<IssmDouble>(numsteps); 293 294 for(i=0;i<numsteps;i++){ 295 296 if((iscurrenttime_included==false) && (i==(numsteps-1))){ 297 298 /*Retrieve interpolated values for current time step: */ 299 Input* input=GetTimeInput(currenttime); 300 input->GetInputAverage(values+i); 301 times[i]=currenttime; 302 } 303 else{ 304 Input* input=(Input*)this->inputs->GetObjectByOffset(i); 305 input->GetInputAverage(values+i); 306 times[i]=this->timesteps[i]; 307 } 264 308 } 265 309 -
issm/trunk-jpl/src/c/classes/objects/Inputs/TransientInput.h
r14648 r14809 58 58 void GetInputAverage(IssmDouble* pvalue); 59 59 void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes); 60 void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime); 60 61 void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");}; 61 62 void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/objects/Inputs/TriaP1Input.cpp
r14672 r14809 201 201 } 202 202 /*}}}*/ 203 /*FUNCTION TriaP1Input::GetInputUpToCurrentTimeAverages{{{*/ 204 void TriaP1Input::GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){ 205 206 IssmDouble* outvalues=NULL; 207 IssmDouble* times=NULL; 208 int numtimes; 209 210 /*this is not a transient forcing, so we only have 1 value, steady state: */ 211 numtimes=1; 212 outvalues=xNew<IssmDouble>(1); 213 times=xNew<IssmDouble>(1); 214 215 outvalues[0]=1./3.*(values[0]+values[1]+values[2]); 216 times[0]=currenttime; /*we don't have a time*/ 217 218 *pvalues=outvalues; 219 *ptimes=times; 220 *pnumtimes=numtimes; 221 } 222 /*}}}*/ 203 223 204 224 -
issm/trunk-jpl/src/c/classes/objects/Inputs/TriaP1Input.h
r14650 r14809 56 56 void GetInputAverage(IssmDouble* pvalue); 57 57 void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes); 58 void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime); 58 59 void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss); 59 60 void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss);
Note:
See TracChangeset
for help on using the changeset viewer.