Changeset 18738
- Timestamp:
- 11/05/14 15:46:34 (10 years ago)
- Location:
- issm/trunk-jpl/src/m
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m
r17687 r18738 54 54 if strcmp(elementtype(md.mesh),'Penta'), 55 55 numbernodesfront=4; 56 %I added the next part. If not, there would be no segments ! 57 md.mesh.vertexconnectivity=NodeConnectivity(md.mesh.elements2d,md.mesh.numberofvertices2d); 58 md.mesh.elementconnectivity=ElementConnectivity(md.mesh.elements2d,md.mesh.vertexconnectivity); 59 segments2=contourenvelope(md); 60 md.mesh.vertexonboundary=zeros(md.mesh.numberofvertices/md.mesh.numberoflayers,1); md.mesh.vertexonboundary(segments2(:,1:2))=1; 61 md.mesh.vertexonboundary=repmat(md.mesh.vertexonboundary,md.mesh.numberoflayers,1); 62 %Then do it for 3d as usual 63 md.mesh.vertexconnectivity=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices); 64 md.mesh.elementconnectivity=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity); 56 65 elseif strcmp(elementtype(md.mesh),'Tria'), 57 66 numbernodesfront=2; 67 segments2=md.mesh.segments; 58 68 else 59 69 error('mesh type not supported yet'); 60 70 end 61 segmentsfront=md.mask.ice_levelset( md.mesh.segments(:,1:numbernodesfront))==0;71 segmentsfront=md.mask.ice_levelset(segments2(:,1:numbernodesfront))==0; 62 72 segments=find(sum(segmentsfront,2)~=numbernodesfront); 63 73 %Find all nodes for these segments and spc them 64 pos= md.mesh.segments(segments,1:numbernodesfront);74 pos=segments2(segments,1:numbernodesfront); 65 75 md.stressbalance.spcvx(pos(:))=0; 66 76 md.stressbalance.spcvy(pos(:))=0; -
issm/trunk-jpl/src/m/classes/clusters/hpc.m
r18702 r18738 50 50 function md = checkconsistency(cluster,md,solution,analyses) % {{{ 51 51 52 available_queues={'pub64','free64','free48','free*,pub64','free*' };53 queue_requirements_time=[Inf Inf Inf Inf Inf ];54 queue_requirements_np=[64 64 48 48 48 ];52 available_queues={'pub64','free64','free48','free*,pub64','free*','free*,free64'}; 53 queue_requirements_time=[Inf Inf Inf Inf Inf Inf]; 54 queue_requirements_np=[64 64 48 48 48 48]; 55 55 56 56 QueueRequirements(available_queues,queue_requirements_time,queue_requirements_np,cluster.queue,cluster.np,1) … … 106 106 fprintf(fid,'#$ -pe one-node-mpi 2-64\n'); 107 107 fprintf(fid,'#$ -R y\n'); 108 fprintf(fid,'#$ -m beas\n');108 %fprintf(fid,'#$ -m beas\n'); 109 109 fprintf(fid,'#$ -o %s.outlog \n',modelname); 110 110 fprintf(fid,'#$ -e %s.errlog \n\n',modelname); -
issm/trunk-jpl/src/m/classes/masstransport.m
r18346 r18738 7 7 properties (SetAccess=public) 8 8 spcthickness = NaN; 9 iscalvingrate = 0; 9 10 calvingrate = NaN; 11 levermann_calving_coeff= 0; 10 12 isfreesurface = 0; 11 13 min_thickness = 0; … … 49 51 fprintf(fid,'%s\n%s\n%s\n','<frame key="1" label="Masstransport solution parameters">','<section name="masstransport" />'); 50 52 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="spcthickness" type="',class(obj.spcthickness),'" default="',convert2str(obj.spcthickness),'">',' <section name="masstransport" />',' <help> thickness constraints (NaN means no constraint) [m] </help>',' </parameter>'); 53 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="iscalvingrate" type="',class(obj.iscalvingrate),'" default="',convert2str(obj.iscalvingrate),'">',' <section name="masstransport" />',' <help> do we use calving (loss of ice) </help>',' </parameter>'); 51 54 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="calvingrate" type="',class(obj.calvingrate),'" default="',convert2str(obj.calvingrate),'">',' <section name="masstransport" />',' <help> calving rate at given location [m/a] </help>',' </parameter>'); 55 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="levermann_calving_coeff" type="',class(obj.levermann_calving_coeff),'" default="',convert2str(obj.levermann_calving_coeff),'">',' <section name="masstransport" />',' <help> Proportionality coefficient in Levermann model </help>',' </parameter>'); 52 56 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="isfreesurface" type="',class(obj.isfreesurface),'" default="',convert2str(obj.isfreesurface),'">',' <section name="masstransport" />',' <help> do we use free surfaces (FS only) are mass conservation </help>',' </parameter>'); 53 57 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="min_thickness" type="',class(obj.min_thickness),'" default="',convert2str(obj.min_thickness),'">',' <section name="masstransport" />',' <help> minimum ice thickness allowed [m] </help>',' </parameter>'); … … 100 104 function obj = setdefaultparameters(obj) % {{{ 101 105 106 %Proportionality coefficient in Levermann model 107 obj.levermann_calving_coeff=8e21; 108 102 109 %Type of stabilization to use 0:nothing 1:artificial_diffusivity 3:Discontinuous Galerkin 103 110 obj.stabilization=1; … … 122 129 md = checkfield(md,'fieldname','masstransport.spcthickness','forcing',1); 123 130 if(ismember(LevelsetAnalysisEnum(), analyses) & md.transient.islevelset) 131 md = checkfield(md,'fieldname','masstransport.iscalvingrate','values',[0 1]); 124 132 md = checkfield(md,'fieldname','masstransport.calvingrate','NaN',1,'size',[md.mesh.numberofvertices 1],'>=',0); 133 md = checkfield(md,'fieldname','masstransport.levermann_calving_coeff','>',0); 125 134 end 126 135 … … 135 144 disp(sprintf(' Masstransport solution parameters:')); 136 145 fielddisplay(obj,'spcthickness','thickness constraints (NaN means no constraint) [m]'); 146 fielddisplay(obj,'iscalvingrate','do we use calving (loss of ice)'); 137 147 fielddisplay(obj,'calvingrate','calving rate at given location [m/a]'); 148 fielddisplay(obj,'levermann_calving_coeff','proportionality coefficient in Levermann model'); 138 149 fielddisplay(obj,'isfreesurface','do we use free surfaces (FS only) are mass conservation'); 139 150 fielddisplay(obj,'min_thickness','minimum ice thickness allowed [m]'); … … 153 164 WriteData(fid,'object',obj,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1); 154 165 WriteData(fid,'object',obj,'fieldname','calvingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts); 166 WriteData(fid,'object',obj,'fieldname','iscalvingrate','format','Boolean'); 155 167 WriteData(fid,'object',obj,'fieldname','isfreesurface','format','Boolean'); 168 WriteData(fid,'object',obj,'fieldname','levermann_calving_coeff','format','Double'); 156 169 WriteData(fid,'object',obj,'fieldname','min_thickness','format','Double'); 157 170 WriteData(fid,'data',StringToEnum(obj.hydrostatic_adjustment),'format','Integer','enum',MasstransportHydrostaticAdjustmentEnum()); -
issm/trunk-jpl/src/m/classes/model.m
r18578 r18738 304 304 if ~isnan(md.mesh.elementconnectivity), mesh.elementconnectivity=project2d(md,md.mesh.elementconnectivity,1); end 305 305 md.mesh=mesh; 306 md.mesh.vertexconnectivity=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices); 307 md.mesh.elementconnectivity=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity); 308 md.mesh.segments=contourenvelope(md); 306 309 307 310 end % }}} -
issm/trunk-jpl/src/m/os/oshostname.m
r16959 r18738 5 5 % 6 6 % 7 hostname='sylvestre'; 8 return; 7 9 8 10 if ispc(), -
issm/trunk-jpl/src/m/solve/waitonlock.m
r18368 r18738 61 61 time=etime(clock,time0)/60; 62 62 else 63 pause( 5);63 pause(60); 64 64 time=etime(clock,time0); 65 65 fprintf('\rchecking for job completion (time: %i min %i sec) ',floor(time/60),floor(rem(time,60)));
Note:
See TracChangeset
for help on using the changeset viewer.