Changeset 3199
- Timestamp:
- 03/05/10 13:44:55 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/classes/public/mesh/meshbamg.m
r3182 r3199 6 6 % where varargin is a lit of paired arguments. 7 7 % arguments can be: 'domainoutline': Argus file containing the outline of the domain to be meshed 8 % arguments can be: 'velocities': matlab file containing the velocities [m/yr] 8 % arguments can be: 'domainoutline': Argus file containing the outline of the domain to be meshed 9 % arguments can be: 'thickness': matlab file containing the thickness [m] 9 10 % optional arguments: 'groundeddomain': Argus file containing the outline of the grounded ice 10 11 % this option is used to minimize the metric on water (no refinement) 11 12 % optional arguments: 'resolution': initial mesh resolution [m] 12 13 % optional arguments: 'nsteps': number of steps of mesh adaptation 13 % optional arguments: 'epsilon': average interpolation error wished [m/yr ]14 % optional arguments: 'epsilon': average interpolation error wished [m/yr [m]] 14 15 % optional arguments: 'hmin': minimum edge length 15 16 % optional arguments: 'hmanx': maximum edge … … 20 21 % md=meshyams(md,'domainoutline','Domain.exp','velocities','vel.mat','groundeddomain','ground.exp'); 21 22 % md=meshyams(md,'domainoutline','Domain.exp','velocities','vel.mat','groundeddomain','ground.exp','nsteps',6,'epsilon',2,'hmin',500,'hmax',30000); 23 % md=meshyams(md,'domainoutline','Domain.exp','velocities','vel.mat','thickness','groundeddomain','ground.exp','nsteps',6,'epsilon',2,'hmin',500,'hmax',30000); 22 24 23 25 %recover options … … 26 28 27 29 %recover some fields 28 disp('Mesh YamsOptions:')30 disp('MeshBamg Options:') 29 31 domainoutline=getfieldvalueerr(options,'domainoutline'); 30 32 disp(sprintf(' %-15s: ''%s''','DomainOutline',domainoutline)); … … 33 35 velocities=getfieldvalueerr(options,'velocities'); 34 36 disp(sprintf(' %-15s: ''%s''','Velocities',velocities)); 37 thickness=getfieldvalue(options,'thickness','none'); 38 disp(sprintf(' %-15s: ''%s''','Thickness',thickness)); 35 39 resolution=getfieldvalue(options,'resolution',5000); 36 40 disp(sprintf(' %-15s: %f','Resolution',resolution)); … … 53 57 %load velocities 54 58 disp('loading velocities...'); 55 Names =VelFindVarNames(velocities);59 NamesV=VelFindVarNames(velocities); 56 60 Vel=load(velocities); 61 62 %compute thickness? 63 if ~strcmpi(thickness,'none'), 64 disp('loading thickness...'); 65 NamesH=FieldFindVarNames(thickness); 66 Thi=load(thickness); 67 thicknesspresent=1; 68 else 69 thicknesspresent=0; 70 end 57 71 58 72 %start mesh adaptation … … 62 76 %interpolate velocities onto mesh 63 77 disp(' interpolating velocities...'); 64 if strcmpi(Names .interp,'grid'),65 vx_obs=InterpFromGridToMesh(Vel.(Names .xname),Vel.(Names.yname),Vel.(Names.vxname),md.x,md.y,0);66 vy_obs=InterpFromGridToMesh(Vel.(Names .xname),Vel.(Names.yname),Vel.(Names.vyname),md.x,md.y,0);78 if strcmpi(NamesV.interp,'grid'), 79 vx_obs=InterpFromGridToMesh(Vel.(NamesV.xname),Vel.(NamesV.yname),Vel.(NamesV.vxname),md.x,md.y,0); 80 vy_obs=InterpFromGridToMesh(Vel.(NamesV.xname),Vel.(NamesV.yname),Vel.(NamesV.vyname),md.x,md.y,0); 67 81 else 68 vx_obs=InterpFromMeshToMesh2d(Vel.(Names .indexname),Vel.(Names.xname),Vel.(Names.yname),Vel.(Names.vxname),md.x,md.y,0);69 vy_obs=InterpFromMeshToMesh2d(Vel.(Names .indexname),Vel.(Names.xname),Vel.(Names.yname),Vel.(Names.vyname),md.x,md.y,0);82 vx_obs=InterpFromMeshToMesh2d(Vel.(NamesV.indexname),Vel.(NamesV.xname),Vel.(NamesV.yname),Vel.(NamesV.vxname),md.x,md.y,0); 83 vy_obs=InterpFromMeshToMesh2d(Vel.(NamesV.indexname),Vel.(NamesV.xname),Vel.(NamesV.yname),Vel.(NamesV.vyname),md.x,md.y,0); 70 84 end 71 85 field=sqrt(vx_obs.^2+vy_obs.^2); 72 86 87 if thicknesspresent, 88 disp(' interpolating thickness...'); 89 if strcmpi(NamesH.interp,'grid'), 90 h=InterpFromGridToMesh(Thi.(NamesH.xname),Thi.(NamesH.yname),Thi.(NamesH.dataname),md.x,md.y,0); 91 else 92 h=InterpFromMeshToMesh2d(Thi.(NamesH.indexname),Thi.(NamesH.xname),Thi.(NamesH.yname),Thi.(NamesH.dataname),md.x,md.y,0); 93 end 94 field=[field h]; 95 end 96 73 97 %set gridonwater field 74 98 if ~strcmp(groundeddomain,'N/A'),
Note:
See TracChangeset
for help on using the changeset viewer.