Changeset 2212
- Timestamp:
- 09/11/09 13:18:04 (15 years ago)
- Location:
- issm/trunk/src
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/ModelProcessorx/CreateParameters.cpp
r1916 r2212 166 166 parameters->AddObject(param); 167 167 168 /*stabilize_constraints: */ 169 count++; 170 param= new Param(count,"stabilize_constraints",INTEGER); 171 param->SetInteger(iomodel->stabilize_constraints); 172 parameters->AddObject(param); 173 168 174 /*stokesreconditioning: */ 169 175 count++; -
issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateLoadsDiagnosticStokes.cpp
r1834 r2212 49 49 int pengrid_active=0; 50 50 int pengrid_thermal_steadystate=1; 51 int pengrid_stabilize_constraints=0; 51 52 52 53 int numberofpressureloads_stokes; … … 143 144 pengrid_penalty_offset=iomodel->penalty_offset; 144 145 pengrid_mparid=iomodel->numberofelements+1;//refers to the corresponding parmat property card 145 146 pengrid= new Pengrid(pengrid_id, pengrid_node_id,pengrid_mparid,pengrid_dof, pengrid_active, pengrid_penalty_offset,pengrid_thermal_steadystate );146 pengrid_stabilize_constraints=iomodel->stabilize_constraints; 147 pengrid= new Pengrid(pengrid_id, pengrid_node_id,pengrid_mparid,pengrid_dof, pengrid_active, pengrid_penalty_offset,pengrid_thermal_steadystate,pengrid_stabilize_constraints); 147 148 148 149 loads->AddObject(pengrid); -
issm/trunk/src/c/ModelProcessorx/IoModel.cpp
r2211 r2212 144 144 iomodel->thermalconductivity=0; 145 145 iomodel->min_thermal_constraints=0; 146 iomodel->stabilize_constraints=0; 146 147 iomodel->mixed_layer_capacity=0; 147 148 iomodel->thermal_exchange_velocity=0; … … 355 356 IoModelFetchData((void**)&iomodel->thermalconductivity,NULL,NULL,iomodel_handle,"thermalconductivity","Scalar",NULL); 356 357 IoModelFetchData((void**)&iomodel->min_thermal_constraints,NULL,NULL,iomodel_handle,"min_thermal_constraints","Integer",NULL); 358 IoModelFetchData((void**)&iomodel->stabilize_constraints,NULL,NULL,iomodel_handle,"stabilize_constraints","Integer",NULL); 357 359 IoModelFetchData((void**)&iomodel->mixed_layer_capacity,NULL,NULL,iomodel_handle,"mixed_layer_capacity","Scalar",NULL); 358 360 IoModelFetchData((void**)&iomodel->thermal_exchange_velocity,NULL,NULL,iomodel_handle,"thermal_exchange_velocity","Scalar",NULL); 359 361 360 362 /*qmu: */ 361 363 if(iomodel->qmu_analysis){ -
issm/trunk/src/c/ModelProcessorx/IoModel.h
r2211 r2212 140 140 double heatcapacity,thermalconductivity; 141 141 int min_thermal_constraints; 142 int stabilize_constraints; 142 143 double mixed_layer_capacity; 143 144 double thermal_exchange_velocity; -
issm/trunk/src/c/ModelProcessorx/Melting/CreateLoadsMelting.cpp
r1905 r2212 38 38 int pengrid_active=0; 39 39 int pengrid_thermal_steadystate=1; 40 int pengrid_stabilize_constraints=0; 40 41 41 42 int count; … … 65 66 pengrid_active=0; 66 67 pengrid_mparid=iomodel->numberofelements+1;//refers to the corresponding parmat property card 68 pengrid_stabilize_constraints=iomodel->stabilize_constraints; 67 69 68 pengrid= new Pengrid(pengrid_id, pengrid_node_id,pengrid_mparid,pengrid_dof, pengrid_active, pengrid_penalty_offset,pengrid_thermal_steadystate );70 pengrid= new Pengrid(pengrid_id, pengrid_node_id,pengrid_mparid,pengrid_dof, pengrid_active, pengrid_penalty_offset,pengrid_thermal_steadystate,pengrid_stabilize_constraints); 69 71 70 72 loads->AddObject(pengrid); -
issm/trunk/src/c/ModelProcessorx/Thermal/CreateLoadsThermal.cpp
r1905 r2212 38 38 int pengrid_active=0; 39 39 int pengrid_thermal_steadystate=1; 40 int pengrid_stabilize_constraints=0; 40 41 41 42 int numberofsegs_diag_stokes; … … 66 67 pengrid_penalty_offset=iomodel->penalty_offset; 67 68 pengrid_active=0; 69 pengrid_stabilize_constraints=iomodel->stabilize_constraints; 68 70 69 pengrid= new Pengrid(pengrid_id, pengrid_node_id,pengrid_mparid,pengrid_dof, pengrid_active, pengrid_penalty_offset,pengrid_thermal_steadystate );71 pengrid= new Pengrid(pengrid_id, pengrid_node_id,pengrid_mparid,pengrid_dof, pengrid_active, pengrid_penalty_offset,pengrid_thermal_steadystate,pengrid_stabilize_constraints); 70 72 71 73 loads->AddObject(pengrid); -
issm/trunk/src/c/objects/Pengrid.cpp
r1901 r2212 22 22 } 23 23 24 Pengrid::Pengrid(int pengrid_id, int pengrid_node_id,int pengrid_mparid, int pengrid_dof, int pengrid_active, double pengrid_penalty_offset,int pengrid_thermal_steadystate ){24 Pengrid::Pengrid(int pengrid_id, int pengrid_node_id,int pengrid_mparid, int pengrid_dof, int pengrid_active, double pengrid_penalty_offset,int pengrid_thermal_steadystate,int pengrid_stabilize_constraints){ 25 25 26 26 id=pengrid_id; … … 31 31 penalty_offset =pengrid_penalty_offset; 32 32 thermal_steadystate=pengrid_thermal_steadystate; 33 stabilize_constraints=pengrid_stabilize_constraints; 33 34 34 35 node_offset=UNDEF; … … 36 37 matpar=NULL; 37 38 matpar_offset=UNDEF; 39 40 zigzag_counter=0; 38 41 39 42 return; … … 600 603 else{ 601 604 unstable=1; 605 if(stabilize_constraints)zigzag_counter++; 606 } 607 608 /*If penalty keeps zigzagging more than 5 times: */ 609 if(stabilize_constraints){ 610 if(zigzag_counter>5){ 611 unstable=0; 612 active=1; 613 } 602 614 } 603 615 -
issm/trunk/src/c/objects/Pengrid.h
r803 r2212 30 30 int matpar_offset; 31 31 32 int stabilize_constraints; 33 int zigzag_counter; 34 32 35 public: 33 36 34 37 Pengrid(); 35 Pengrid(int id, int node_id,int mparid,int dof, int active, double penalty_offset,int thermal_steadystate );38 Pengrid(int id, int node_id,int mparid,int dof, int active, double penalty_offset,int thermal_steadystate,int stabilize_constraints); 36 39 ~Pengrid(); 37 40 -
issm/trunk/src/m/classes/@model/model.m
r2211 r2212 110 110 md.mixed_layer_capacity=0; 111 111 md.thermal_exchange_velocity=0; 112 md.min_thermal_constraints=0; 113 md.stabilize_constraints=0; 112 114 113 115 %Physical parameters … … 139 141 md.spctemperature=NaN; 140 142 md.spcthickness=NaN; 141 md.min_thermal_constraints=0;142 143 143 144 %Observations -
issm/trunk/src/m/classes/public/display/displaythermal.m
r1755 r2212 11 11 disp(sprintf(' Thermal solution parameters:')); 12 12 13 disp(sprintf('\n parameters:')); 14 fielddisplay(md,'stabilize_constraints','stabilize unstable thermal constraints that keep zigzagging (default is 0)'); 15 fielddisplay(md,'min_thermal_constraints','threshold to declare convergence of thermal solution (default is 0)'); 16 13 17 disp(sprintf('\n boundary conditions:')); 14 18 fielddisplay(md,'spctemperature','constraints flag list (first column) and values (second column)'); -
issm/trunk/src/m/classes/public/marshall.m
r2211 r2212 140 140 WriteData(fid,md.mixed_layer_capacity,'Scalar','mixed_layer_capacity'); 141 141 WriteData(fid,md.thermal_exchange_velocity,'Scalar','thermal_exchange_velocity'); 142 WriteData(fid,md.stabilize_constraints,'Integer','stabilize_constraints'); 142 143 143 144 %elements type -
issm/trunk/src/m/utils/OS/oshostname.m
r1582 r2212 19 19 end 20 20 hostname=hostname(1:end-1); 21 [hostname '|'] 21 22 end
Note:
See TracChangeset
for help on using the changeset viewer.