Changeset 11823
- Timestamp:
- 03/30/12 11:04:02 (13 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/solutions/enthalpy_core.cpp
r11810 r11823 18 18 19 19 /*intermediary*/ 20 double time;21 int nsteps;22 double starttime,final_time;23 double dt;24 double melting_offset;25 20 bool control_analysis; 26 21 int solution_type; 27 22 28 23 //first recover parameters common to all solutions 29 femmodel->parameters->FindParam(&starttime,TimesteppingStartTimeEnum);30 femmodel->parameters->FindParam(&final_time,TimesteppingFinalTimeEnum);31 femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);32 24 femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum); 33 25 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); 34 26 35 /*Compute number of time steps: */ 36 if((dt==0)|| (final_time==0)){ 37 dt=0; 38 nsteps=1; 27 /*call enthalpy_core_step: */ 28 enthalpy_core_step(femmodel); 29 30 if(solution_type==EnthalpySolutionEnum && !control_analysis){ 31 _printf_(VerboseSolution()," saving results\n"); 32 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum); 33 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum); 34 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WaterfractionEnum); 39 35 } 40 else nsteps=(int)((final_time-starttime)/dt);41 time=starttime;42 36 43 /*Loop through time: */44 for(i=0;i<nsteps;i++){45 46 if(nsteps)_printf_(VerboseSolution(),"time step: %i/%i\n",i+1,nsteps);47 time+=dt;48 49 /*call enthalpy_core_step: */50 enthalpy_core_step(femmodel,i,time);51 52 if(solution_type==EnthalpySolutionEnum && !control_analysis){53 _printf_(VerboseSolution()," saving results\n");54 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum,i+1,time);55 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum,i+1,time);56 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WaterfractionEnum,i+1,time);57 }58 59 }60 37 } -
issm/trunk-jpl/src/c/solutions/solutions.h
r11822 r11823 22 22 void thermal_core_step(FemModel* femmodel,int step=0, double time=0); 23 23 void enthalpy_core(FemModel* femmodel); 24 void enthalpy_core_step(FemModel* femmodel,int step , double time);24 void enthalpy_core_step(FemModel* femmodel,int step=0, double time=0); 25 25 void surfaceslope_core(FemModel* femmodel); 26 26 void bedslope_core(FemModel* femmodel); -
issm/trunk-jpl/src/m/solutions/enthalpy_core.m
r11299 r11823 6 6 7 7 %recover parameters common to all solutions 8 ndt=femmodel.parameters.TimesteppingFinalTime;9 dt=femmodel.parameters.TimesteppingTimeStep;10 8 control_analysis=femmodel.parameters.InversionIscontrol; 11 9 solution_type=femmodel.parameters.SolutionType; 12 10 13 %Compute number of timesteps 14 if (dt==0 | ndt==0), 15 dt=0; 16 nsteps=1; 17 else 18 nsteps=floor(ndt/dt); 19 end 11 issmprintf(VerboseSolution,'\n%s',[' computing enthalpy']); 12 femmodel=enthalpy_core_step(femmodel); 20 13 21 %Loop through time 22 for i=1:nsteps, 23 issmprintf(VerboseSolution,'\n%s%i/%i\n','time step: ',i,nsteps); 24 time=(i+1)*dt; 25 26 femmodel=enthalpy_core_step(femmodel,i,time); 27 28 if (solution_type==EnthalpySolutionEnum & ~control_analysis), 29 issmprintf(VerboseSolution,'\n%s',[' saving results']); 30 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,EnthalpyEnum,i,time); 31 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum,i,time); 32 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,WaterfractionEnum,i,time); 33 end 14 if (solution_type==EnthalpySolutionEnum & ~control_analysis), 15 issmprintf(VerboseSolution,'\n%s',[' saving results']); 16 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,EnthalpyEnum); 17 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum); 18 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,WaterfractionEnum); 34 19 end 35 20 -
issm/trunk-jpl/src/m/solutions/thermal_core.m
r11822 r11823 7 7 8 8 %recover parameters common to all solutions 9 ndt=femmodel.parameters.TimesteppingFinalTime;10 dt=femmodel.parameters.TimesteppingTimeStep;11 9 control_analysis=femmodel.parameters.InversionIscontrol; 12 10 solution_type=femmodel.parameters.SolutionType;
Note:
See TracChangeset
for help on using the changeset viewer.