Changeset 25356
- Timestamp:
- 08/07/20 17:56:29 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/test/NightlyRun/test2085.m
r25342 r25356 3 3 % Love kernels for degree 2, 20, 200 (tested against analytic solns). 4 4 % skip benchmarking for the inner-most interface. 5 6 % set validation=1 for comparing against the analytic solutions. 7 validation=0; 5 8 6 9 % for volumetric potential … … 67 70 % }}} 68 71 72 % validate tidal potential solutions against the analytic solutions. {{{ 73 if validation 74 75 param.rho = md.materials.density(1); 76 param.mu = md.materials.lame_mu(1); 77 param.G = 6.67e-11; 78 param.radius = md.materials.radius; 79 param.g0 = md.love.g0; 80 param.source = md.love.forcing_type; 81 82 % check against analytic solutions at the following degrees 83 degrees_analytic = [2 4 8 16 32]; 84 % extract analytic solutions. 85 for jj=1:length(degrees_analytic) 86 param.degree = degrees_analytic(jj); 87 y_temp = yi_analytic_homogenous(param); 88 if (exist('y_ana','var')~=1) 89 y_ana = zeros([length(degrees_analytic) size(y_temp)]); 90 end 91 y_ana(jj,:,:)=y_temp; 92 end 93 y1_ana=squeeze(y_ana(:,:,1)); 94 y2_ana=squeeze(y_ana(:,:,2)); 95 y3_ana=squeeze(y_ana(:,:,3)); 96 y4_ana=squeeze(y_ana(:,:,4)); 97 y5_ana=squeeze(y_ana(:,:,5)); 98 y6_ana=squeeze(y_ana(:,:,6)); 99 100 depth = (max(param.radius)-param.radius)/1000; % km. 101 102 y1 = squeeze(cell2mat(md.results.LoveSolution.LoveKernelsReal(:,1,:,1))); 103 y2 = squeeze(cell2mat(md.results.LoveSolution.LoveKernelsReal(:,1,:,2))); 104 y3 = squeeze(cell2mat(md.results.LoveSolution.LoveKernelsReal(:,1,:,3))); 105 y4 = squeeze(cell2mat(md.results.LoveSolution.LoveKernelsReal(:,1,:,4))); 106 y5 = squeeze(cell2mat(md.results.LoveSolution.LoveKernelsReal(:,1,:,5))); 107 y6 = squeeze(cell2mat(md.results.LoveSolution.LoveKernelsReal(:,1,:,6))); 108 109 set(0,'DefaultAxesFontSize',16,'DefaultTextFontSize',15,'DefaultAxesLineWidth',1,... 110 'DefaultTextInterpreter','Latex','DefaultAxesFontName','Arial','DefaultLineMarkerSize',8) 111 figure1=figure('Position', [100, 100, 800, 1000]); 112 %--------------------------------------------------------------------- 113 axes1 = axes('Layer','top','Position',[0.1 0.73 0.4 0.23]); 114 axis(axes1,[-0.004 0.088 -0.5 6.5]); 115 ylabel(axes1,'Depth [$\times$1000 km]','fontsize',20); 116 xlabel(axes1,'$y_1$ [m]','fontsize',20); 117 box(axes1,'on'); grid(axes1,'on'); hold(axes1,'all'); 118 plot(y1_ana,depth/1000,'linewidth',2,'parent',axes1); 119 set(gca,'ColorOrderIndex',1,'Ydir','reverse'); 120 plot(y1(degrees_analytic+1,:),depth/1000,'o','linewidth',2,'parent',axes1); 121 %--------------------------------------------------------------------- 122 axes2 = axes('Layer','top','Position',[0.55 0.73 0.4 0.23]); 123 axis(axes2,[-200 3200 -0.5 6.5]); 124 xlabel(axes2,'$y_2$ [Pa]','fontsize',20); 125 box(axes2,'on'); grid(axes2,'on'); hold(axes2,'all'); 126 plot(y2_ana,depth/1000,'linewidth',2,'parent',axes2); 127 set(gca,'ColorOrderIndex',1,'Ydir','reverse'); 128 plot(y2(degrees_analytic+1,:),depth/1000,'o','linewidth',2,'parent',axes2); 129 %--------------------------------------------------------------------- 130 axes3 = axes('Layer','top','Position',[0.1 0.4 0.4 0.23]); 131 axis(axes3,[-0.002 0.034 -0.5 6.5]); 132 ylabel(axes3,'Depth [$\times$1000 km]','fontsize',20); 133 xlabel(axes3,'$y_3$ [m]','fontsize',20); 134 box(axes3,'on'); grid(axes3,'on'); hold(axes3,'all'); 135 plot(y3_ana,depth/1000,'linewidth',2,'parent',axes3); 136 set(gca,'ColorOrderIndex',1,'Ydir','reverse'); 137 plot(y3(degrees_analytic+1,:),depth/1000,'o','linewidth',2,'parent',axes3); 138 %--------------------------------------------------------------------- 139 axes4 = axes('Layer','top','Position',[0.55 0.4 0.4 0.23]); 140 axis(axes4,[-100 1600 -0.5 6.5]); 141 xlabel(axes4,'$y_4$ [Pa]','fontsize',20); 142 box(axes4,'on'); grid(axes4,'on'); hold(axes4,'all'); 143 plot(y4_ana,depth/1000,'linewidth',2,'parent',axes4); 144 set(gca,'ColorOrderIndex',1,'Ydir','reverse'); 145 plot(y4(degrees_analytic+1,:),depth/1000,'o','linewidth',2,'parent',axes4); 146 %--------------------------------------------------------------------- 147 axes5 = axes('Layer','top','Position',[0.1 0.07 0.4 0.23]); 148 axis(axes5,[-0.05 1.5 0 6.5]); 149 ylabel(axes5,'Depth [$\times$1000 km]','fontsize',20); 150 xlabel(axes5,'$y_5$ [m$^2$ s$^{-2}$]','fontsize',20); 151 box(axes5,'on'); grid(axes5,'on'); hold(axes5,'all'); 152 plot(y5_ana,depth/1000,'linewidth',2,'parent',axes5); 153 set(gca,'ColorOrderIndex',1,'Ydir','reverse'); 154 plot(y5(degrees_analytic+1,:),depth/1000,'o','linewidth',2,'parent',axes5); 155 %--------------------------------------------------------------------- 156 axes6 = axes('Layer','top','Position',[0.55 0.07 0.4 0.23]); 157 axis(axes6,[-1e-7 4e-7 0 6.5]); 158 xlabel(axes6,'$y_6$ [m s$^{-2}$]','fontsize',20); 159 box(axes6,'on'); grid(axes6,'on'); hold(axes6,'all'); 160 plot(y6_ana,depth/1000,'linewidth',2,'parent',axes6); 161 set(gca,'ColorOrderIndex',1,'Ydir','reverse'); 162 plot(y6(degrees_analytic+1,:),depth/1000,'o','linewidth',2,'parent',axes6); 163 %--------------------------------------------------------------------- 164 165 legend(axes6,'n=2','n=4','n=8','n=16','n=32'); 166 %export_fig('/Users/adhikari/issm/trunk-jpl/src/m/contrib/adhikari/issm_vs_analytic_loading_homogeneous.pdf'); 167 168 else 169 % 170 end 171 % }}} 172 69 173 % for surface load. 70 174 … … 97 201 y6_loading_degree200 = squeeze(cell2mat(md.results.LoveSolution.LoveKernelsReal(degrees(3)+1,1,2:end,6))); 98 202 % }}} 203 204 % validate loading solutions against the analytic solutions. {{{ 205 if validation 206 207 param.source = md.love.forcing_type; 208 209 % extract analytic solutions. 210 for jj=1:length(degrees_analytic) 211 param.degree = degrees_analytic(jj); 212 y_temp = yi_analytic_homogenous(param); 213 if (exist('y_ana','var')~=1) 214 y_ana = zeros([length(degrees_analytic) size(y_temp)]); 215 end 216 y_ana(jj,:,:)=y_temp; 217 end 218 y1_ana=squeeze(y_ana(:,:,1)); 219 y2_ana=squeeze(y_ana(:,:,2)); 220 y3_ana=squeeze(y_ana(:,:,3)); 221 y4_ana=squeeze(y_ana(:,:,4)); 222 y5_ana=squeeze(y_ana(:,:,5)); 223 y6_ana=squeeze(y_ana(:,:,6)); 224 225 depth = (max(param.radius)-param.radius)/1000; % km. 226 227 y1 = squeeze(cell2mat(md.results.LoveSolution.LoveKernelsReal(:,1,:,1))); 228 y2 = squeeze(cell2mat(md.results.LoveSolution.LoveKernelsReal(:,1,:,2))); 229 y3 = squeeze(cell2mat(md.results.LoveSolution.LoveKernelsReal(:,1,:,3))); 230 y4 = squeeze(cell2mat(md.results.LoveSolution.LoveKernelsReal(:,1,:,4))); 231 y5 = squeeze(cell2mat(md.results.LoveSolution.LoveKernelsReal(:,1,:,5))); 232 y6 = squeeze(cell2mat(md.results.LoveSolution.LoveKernelsReal(:,1,:,6))); 233 234 set(0,'DefaultAxesFontSize',16,'DefaultTextFontSize',15,'DefaultAxesLineWidth',1,... 235 'DefaultTextInterpreter','Latex','DefaultAxesFontName','Arial','DefaultLineMarkerSize',8) 236 figure1=figure('Position', [100, 100, 800, 1000]); 237 %--------------------------------------------------------------------- 238 axes1 = axes('Layer','top','Position',[0.1 0.73 0.4 0.23]); 239 axis(axes1,[-0.11 0.01 -0.5 6.5]); 240 ylabel(axes1,'Depth [$\times$1000 km]','fontsize',20); 241 xlabel(axes1,'$y_1$ [m]','fontsize',20); 242 box(axes1,'on'); grid(axes1,'on'); hold(axes1,'all'); 243 plot(y1_ana,depth/1000,'linewidth',2,'parent',axes1); 244 set(gca,'ColorOrderIndex',1,'Ydir','reverse'); 245 plot(y1(degrees_analytic+1,:),depth/1000,'o','linewidth',2,'parent',axes1); 246 %--------------------------------------------------------------------- 247 axes2 = axes('Layer','top','Position',[0.55 0.73 0.4 0.23]); 248 axis(axes2,[-1.8e4 0.2e4 -0.5 6.5]); 249 xlabel(axes2,'$y_2$ [Pa]','fontsize',20); 250 box(axes2,'on'); grid(axes2,'on'); hold(axes2,'all'); 251 plot(y2_ana,depth/1000,'linewidth',2,'parent',axes2); 252 set(gca,'ColorOrderIndex',1,'Ydir','reverse'); 253 plot(y2(degrees_analytic+1,:),depth/1000,'o','linewidth',2,'parent',axes2); 254 %--------------------------------------------------------------------- 255 axes3 = axes('Layer','top','Position',[0.1 0.4 0.4 0.23]); 256 axis(axes3,[-0.023 0.002 -0.5 6.5]); 257 ylabel(axes3,'Depth [$\times$1000 km]','fontsize',20); 258 xlabel(axes3,'$y_3$ [m]','fontsize',20); 259 box(axes3,'on'); grid(axes3,'on'); hold(axes3,'all'); 260 plot(y3_ana,depth/1000,'linewidth',2,'parent',axes3); 261 set(gca,'ColorOrderIndex',1,'Ydir','reverse'); 262 plot(y3(degrees_analytic+1,:),depth/1000,'o','linewidth',2,'parent',axes3); 263 %--------------------------------------------------------------------- 264 axes4 = axes('Layer','top','Position',[0.55 0.4 0.4 0.23]); 265 axis(axes4,[-1300 100 -0.5 6.5]); 266 xlabel(axes4,'$y_4$ [Pa]','fontsize',20); 267 box(axes4,'on'); grid(axes4,'on'); hold(axes4,'all'); 268 plot(y4_ana,depth/1000,'linewidth',2,'parent',axes4); 269 set(gca,'ColorOrderIndex',1,'Ydir','reverse'); 270 plot(y4(degrees_analytic+1,:),depth/1000,'o','linewidth',2,'parent',axes4); 271 %--------------------------------------------------------------------- 272 axes5 = axes('Layer','top','Position',[0.1 0.07 0.4 0.23]); 273 axis(axes5,[-0.05 0.9 -0.5 6.5]); 274 ylabel(axes5,'Depth [$\times$1000 km]','fontsize',20); 275 xlabel(axes5,'$y_5$ [m$^2$ s$^{-2}$]','fontsize',20); 276 box(axes5,'on'); grid(axes5,'on'); hold(axes5,'all'); 277 plot(y5_ana,depth/1000,'linewidth',2,'parent',axes5); 278 set(gca,'ColorOrderIndex',1,'Ydir','reverse'); 279 plot(y5(degrees_analytic+1,:),depth/1000,'o','linewidth',2,'parent',axes5); 280 %--------------------------------------------------------------------- 281 axes6 = axes('Layer','top','Position',[0.55 0.07 0.4 0.23]); 282 axis(axes6,[-1e-7 1e-6 -0.5 6.5]); 283 xlabel(axes6,'$y_6$ [m s$^{-2}$]','fontsize',20); 284 box(axes6,'on'); grid(axes6,'on'); hold(axes6,'all'); 285 plot(y6_ana,depth/1000,'linewidth',2,'parent',axes6); 286 set(gca,'ColorOrderIndex',1,'Ydir','reverse'); 287 plot(y6(degrees_analytic+1,:),depth/1000,'o','linewidth',2,'parent',axes6); 288 %--------------------------------------------------------------------- 289 290 legend(axes6,'n=2','n=4','n=8','n=16','n=32'); 291 %export_fig('/Users/adhikari/issm/trunk-jpl/src/m/contrib/adhikari/issm_vs_analytic_tidal_homogeneous.pdf'); 292 293 else 294 % 295 end 296 % }}} 99 297 100 298 field_names = {...
Note:
See TracChangeset
for help on using the changeset viewer.