- Timestamp:
- 08/07/20 17:58:28 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/contrib/adhikari/yi_analytic_homogenous.m
r25354 r25357 1 1 2 function [yana r] = love_analytic(n,N,source); 3 % n = SH degree 4 % N = number of layers 5 % source = 9 (volumentric potential) 6 % = 11 (surface loads) 2 function yana = love_analytic(param); 3 % param = required parameters 4 % param.rho = earth density [kg/m3] 5 % param.mu = shear modulus [Pa] 6 % param.G = universal gravitational constant [m3 kg-1 s-2] 7 % param.radius = radius of the surface and internal layers of the planet. [m] 8 % param.g0 = acceleration due to gravity on the planetary surface. [m s-2] 9 % param.source = model forcing type [9 volumentaric potential, 11 surface loads] 10 % param.degree = SH degree; 7 11 8 rho=5511; %density 9 mu=.75e11; %shear modulus 10 G=6.67e-11; 11 a=6371e3; %surface radius 12 g0=9.8134357285509388; % surface gravity 12 %dbstop if naninf 13 13 14 r=linspace(10e3,a,N+1); 14 rho = param.rho; 15 mu = param.mu; 16 G = param.G; 17 a = max(param.radius); 18 g0 = param.g0; 19 r = param.radius; 20 source = param.source; 21 n = param.degree; 15 22 16 C1=0;17 C2=0;18 C6=0;19 if (source==9)20 C3 = -1/2*n*(n+1)*rho/((2*n^2+4*n+3)*mu+n*rho*g0*a)*a^(-n);21 C4 = 1/2/(n-1)*n^2*(n+2)*rho/((2*n^2+4*n+3)*mu+n*rho*g0*a)*a^(-n+2);22 C5 = (1+3/2/(n-1)*n*rho*g0*a/((2*n^2+4*n+3)*mu+n*rho*g0*a))*a^(-n);23 elseif (source==11)24 C3=(n*rho*(n^2 - 1)) / (a^n*(4*G*pi*a^2*n*rho^2 + 3*mu*(2*n^2 + 4*n + 3)));25 C4=-(a^2*n^2*rho*(n + 2)) / (a^n*(4*G*pi*a^2*n*rho^2 + 3*mu*(2*n^2 + 4*n + 3)));26 C5=(3*mu*(2*n^2 + 4*n + 3)) / (a^n*(4*G*pi*a^2*n*rho^2 + 3*mu*(2*n^2 + 4*n + 3)));27 %C3 = rho*(n-1)^2*(n+1)*n / (6*mu*a^n*(n-1)*(2*n^2+4*n+3) - 4*pi*G*rho^2*n*(3*a^(-n+2)-(2*n+1)*a^(n+2)));28 %C4 = -a^2*(n+2)*n/(n^2-1) * C3;29 %C5 = 1/a^n - 4*pi*G*rho*a^2/(n^2-1) * C3;30 end23 C1=0; 24 C2=0; 25 C6=0; 26 if (source==9) 27 C3 = -1/2*n*(n+1)*rho/((2*n^2+4*n+3)*mu+n*rho*g0*a)*a^(-n); 28 C4 = 1/2/(n-1)*n^2*(n+2)*rho/((2*n^2+4*n+3)*mu+n*rho*g0*a)*a^(-n+2); 29 C5 = (1+3/2/(n-1)*n*rho*g0*a/((2*n^2+4*n+3)*mu+n*rho*g0*a))*a^(-n); 30 elseif (source==11) 31 C3=(n*rho*(n^2 - 1)) / (a^n*(4*G*pi*a^2*n*rho^2 + 3*mu*(2*n^2 + 4*n + 3))); 32 C4=-(a^2*n^2*rho*(n + 2)) / (a^n*(4*G*pi*a^2*n*rho^2 + 3*mu*(2*n^2 + 4*n + 3))); 33 C5=(3*mu*(2*n^2 + 4*n + 3)) / (a^n*(4*G*pi*a^2*n*rho^2 + 3*mu*(2*n^2 + 4*n + 3))); 34 %C3 = rho*(n-1)^2*(n+1)*n / (6*mu*a^n*(n-1)*(2*n^2+4*n+3) - 4*pi*G*rho^2*n*(3*a^(-n+2)-(2*n+1)*a^(n+2))); 35 %C4 = -a^2*(n+2)*n/(n^2-1) * C3; 36 %C5 = 1/a^n - 4*pi*G*rho*a^2/(n^2-1) * C3; 37 end 31 38 32 y1 = C1./r.^n + C2./r.^(n+2) + C3*r.^(n+1) + C4*r.^(n-1);33 y2 = 2*mu*( (-n^2-3*n+1)/(n+1)*C1*r.^(-n-1) - (n+2)*C2*r.^(-n-3) +...34 (n^2-n-3)/n*C3*r.^n + (n-1)*C4*r.^(n-2) ) + 4/3*pi*G*rho^2*( C1*r.^(-n+1) +...35 C2*r.^(-n-1) + C3*r.^(n+2) + C4*r.^n ) - rho*C5*r.^n - rho*C6*r.^(-n-1);36 y3 = -(n-2)/(n*(n+1))*C1*r.^(-n) - 1/(n+1)*C2*r.^(-n-2) + (n+3)/(n*(n+1))*C3*r.^(n+1) + C4/n*r.^(n-1);37 y4 = 2*mu*( (n-1)/n*C1*r.^(-n-1) + (n+2)/(n+1)*C2*r.^(-n-3) + (n+2)/(n+1)*C3*r.^n + (n-1)/n*C4*r.^(n-2) );38 y5 = C5*r.^n + C6*r.^(-n-1);39 y6 = n*C5*r.^(n-1) - (n+1)*C6*r.^(-n-2) - 4*pi*G*rho*( C1*r.^(-n) + C2*r.^(-n-2) + C3*r.^(n+1) + C4*r.^(n-1));39 y1 = C1./r.^n + C2./r.^(n+2) + C3*r.^(n+1) + C4*r.^(n-1); 40 y2 = 2*mu*( (-n^2-3*n+1)/(n+1)*C1*r.^(-n-1) - (n+2)*C2*r.^(-n-3) +... 41 (n^2-n-3)/n*C3*r.^n + (n-1)*C4*r.^(n-2) ) + 4/3*pi*G*rho^2*( C1*r.^(-n+1) +... 42 C2*r.^(-n-1) + C3*r.^(n+2) + C4*r.^n ) - rho*C5*r.^n - rho*C6*r.^(-n-1); 43 y3 = -(n-2)/(n*(n+1))*C1*r.^(-n) - 1/(n+1)*C2*r.^(-n-2) + (n+3)/(n*(n+1))*C3*r.^(n+1) + C4/n*r.^(n-1); 44 y4 = 2*mu*( (n-1)/n*C1*r.^(-n-1) + (n+2)/(n+1)*C2*r.^(-n-3) + (n+2)/(n+1)*C3*r.^n + (n-1)/n*C4*r.^(n-2) ); 45 y5 = C5*r.^n + C6*r.^(-n-1); 46 y6 = n*C5*r.^(n-1) - (n+1)*C6*r.^(-n-2) - 4*pi*G*rho*( C1*r.^(-n) + C2*r.^(-n-2) + C3*r.^(n+1) + C4*r.^(n-1)); 40 47 41 yana = [y1; y2; y3; y4; y5; y6]';48 yana = [y1 y2 y3 y4 y5 y6]; 42 49
Note:
See TracChangeset
for help on using the changeset viewer.