Changeset 11299
- Timestamp:
- 02/02/12 07:45:03 (13 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/objects/Elements/Penta.cpp ¶
r11292 r11299 2050 2050 name==InversionVzObsEnum || 2051 2051 name==TemperatureEnum || 2052 name==EnthalpyEnum || 2053 name==EnthalpyPicardEnum || 2052 2054 name==WaterfractionEnum|| 2053 2055 name==FrictionCoefficientEnum || … … 3241 3243 this->parameters->FindParam(&stabilization,ThermalStabilizationEnum); 3242 3244 Input* pressure_input=inputs->GetInput(PressureEnum); _assert_(pressure_input); 3243 Input* enthalpy_input=inputs->GetInput(Enthalpy Enum); _assert_(enthalpy_input);3245 Input* enthalpy_input=inputs->GetInput(EnthalpyPicardEnum);_assert_(enthalpy_input); //for this iteration of the step 3244 3246 Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input); 3245 3247 Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input); … … 4239 4241 const int numdof=NDOF1*NUMVERTICES; 4240 4242 4241 bool converged ;4243 bool converged=false; 4242 4244 int i,rheology_law; 4243 4245 double xyz_list[NUMVERTICES][3]; … … 4266 4268 Input* surface_input=inputs->GetInput(SurfaceEnum); _assert_(surface_input); 4267 4269 4268 4269 // this->inputs->GetInputValue(&converged,ConvergedEnum); 4270 // if(converged){ 4270 this->inputs->GetInputValue(&converged,ConvergedEnum); 4271 if(converged){ 4271 4272 /*Convert enthalpy into temperature and water fraction*/ 4272 4273 for(i=0;i<numdof;i++) matpar->EnthalpyToThermal(&temperatures[i],&waterfraction[i],values[i],pressure[i]); … … 4300 4301 4301 4302 } 4302 //}4303 //else{4304 //this->inputs->AddInput(new PentaP1Input(EnthalpyPicardEnum,values));4305 //}4303 } 4304 else{ 4305 this->inputs->AddInput(new PentaP1Input(EnthalpyPicardEnum,values)); 4306 } 4306 4307 4307 4308 /*Free ressources:*/ -
TabularUnified issm/trunk-jpl/src/c/objects/Materials/Matpar.cpp ¶
r11290 r11299 420 420 } 421 421 else{ 422 printf("-------------- file: Matpar.cpp line: %i\n",__LINE__); 422 423 return 0.1*thermalconductivity/(rho_ice*heatcapacity); 423 424 } -
TabularUnified issm/trunk-jpl/src/c/solutions/enthalpy_core.cpp ¶
r9761 r11299 46 46 47 47 /*call enthalpy_core_step: */ 48 femmodel->SetCurrentConfiguration(EnthalpyAnalysisEnum); 49 solver_linear(femmodel); 48 enthalpy_core_step(femmodel,i,time); 50 49 51 50 if(solution_type==EnthalpySolutionEnum && !control_analysis){ -
TabularUnified issm/trunk-jpl/src/c/solutions/enthalpy_core_step.cpp ¶
r11288 r11299 21 21 solver_nonlinear(femmodel,modify_loads); 22 22 23 /*transfer water column thickness to old water column thickness: */24 //InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum,EnthalpyOldEnum);23 /*transfer enthalpy to enthalpy picard for the next step: */ 24 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum,EnthalpyPicardEnum); 25 25 26 26 } -
TabularUnified issm/trunk-jpl/src/m/solutions/enthalpy_core.m ¶
r11279 r11299 4 4 % Usage: 5 5 % femmodel=enthalpy_core(femmodel) 6 7 6 8 7 %recover parameters common to all solutions … … 25 24 time=(i+1)*dt; 26 25 27 issmprintf(VerboseSolution,'\n%s',[' computing enthalpy']); 28 femmodel=SetCurrentConfiguration(femmodel,EnthalpyAnalysisEnum); 29 femmodel=solver_linear(femmodel); 26 femmodel=enthalpy_core_step(femmodel,i,time); 30 27 31 28 if (solution_type==EnthalpySolutionEnum & ~control_analysis), -
TabularUnified issm/trunk-jpl/src/m/solvers/solver_nonlinear.m ¶
r10441 r11299 22 22 23 23 %Update the solution to make sure that vx and vxold are similar 24 [femmodel.elements loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,loads,femmodel.materials,femmodel.parameters,double(converged),ConvergedEnum); 24 25 [femmodel.elements,femmodel.materials]=InputUpdateFromSolution(femmodel.elements,femmodel.nodes,femmodel.vertices,loads,femmodel.materials,femmodel.parameters,ug); 25 26 … … 38 39 ug= Mergesolutionfromftog( uf, ys, femmodel.nodes,femmodel.parameters); 39 40 40 [femmodel.elements,femmodel.materials]=InputUpdateFromSolution(femmodel.elements,femmodel.nodes,femmodel.vertices,loads,femmodel.materials,femmodel.parameters,ug);41 [loads,constraints_converged,num_unstable_constraints] =ConstraintsState( femmodel.elements,femmodel.nodes,femmodel.vertices,loads, femmodel.materials,femmodel.parameters);42 43 issmprintf(VerboseConvergence(),'%s%i',' number of unstable constraints: ',num_unstable_constraints);44 45 41 %Figure out if convergence have been reached 46 42 converged=convergence(K_ff,p_f,uf,old_uf,femmodel.parameters); … … 48 44 %add convergence status into status 49 45 [femmodel.elements loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,loads,femmodel.materials,femmodel.parameters,double(converged),ConvergedEnum); 46 47 [femmodel.elements,femmodel.materials]=InputUpdateFromSolution(femmodel.elements,femmodel.nodes,femmodel.vertices,loads,femmodel.materials,femmodel.parameters,ug); 48 [loads,constraints_converged,num_unstable_constraints] =ConstraintsState( femmodel.elements,femmodel.nodes,femmodel.vertices,loads, femmodel.materials,femmodel.parameters); 49 50 issmprintf(VerboseConvergence(),'%s%i',' number of unstable constraints: ',num_unstable_constraints); 50 51 51 52 %rift convergence
Note:
See TracChangeset
for help on using the changeset viewer.