理论固体潮计算_matlab

理论固体潮_matlab

  • 引言
    固体潮是指在日、月引潮力的作用下,固体地球产生的周期形变的现象。固体潮的存在说明固体地球具有一定的弹性,固体潮就是弹性地球在日月引力作用下发生的弹性变形。引潮力不但可以引起地球表面流体的潮汐(如海潮、大气潮),还能引起地球固体部分的周期性形变。受固体潮的影响,地面不停的变形,影响到各种测量数据的精确度。精密大地测量结果应加入相应的修正。重力观测精度已达到2~5微伽的量级,而重力潮汐变化影响的最大幅度可达±130 微伽 ,故须加入改正。卫星激光测距精度达到3厘米 ,而地面测站的垂直潮汐形变达到30~40厘米的幅度,必须加以改正。固体潮的变化对卫星轨道也有摄动作用,所以在卫星轨道设计中必须顾及这一影响。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UnAHE8aE-1630728376695)(https://dspstack.com/uploads/images/201901/10/68/CdSsgBTmNS.jpg)]

  • 理论固体潮计算
    固体潮是一种可以预先精确计算得到的物理量,基本计算过程可分为四步。
    1、地理纬度转换为地心纬度,弧度制。
    2、求儒略世纪数T
    3、由儒略数计算6个天文参数(月球平黄经S、月球深交点黄经N、月球近地点黄经P、太阳平黄经h、太阳近地点黄经Ps、黄赤交角sigma)
    4、根据固体潮公式带人计算。
  • 之前从甚宽频带地震计中提取固体潮信息的工作时,简单整理写了一下计算理论固体潮的脚本,如下:
  • 计算固体潮函数gravity_earthtide
function deltag=gravity_earthtide(ymdh,Longtitude,latitude)
% 理论固体计算函数
% output 
% 计算时间[2000,1,1,1,0,0];
% 经度
% 纬度
% 2015/10/22
% timevec = datevec(daynum);
y = ymdh(1);
m = ymdh(2);
d = ymdh(3);
t = ymdh(4);
Phi = latitude;     
%换算
Phip = Phi-0.192424*sin(2*Phi*pi/180.0);   
Longtitude = Longtitude*pi/180.0;
Latitude = latitude*pi/180.0;
Phi = Latitude;
Phip = Phip*pi/180.0;
To = Julian(y,m,d);
T = (To-2415020+(t-8)/24)./(36525);
% 天文学参数
S = 270.43416+481267.89057*T-0.001133*T*T+0.000002*T*T*T;
H = 279.696678+36000.76892*T+0.0003025*T*T;
P = 334.3295556+4069.034033*T+0.0001*T*T*T;
N = 259.183275-1934.142008*T+0.002077*T*T+0.000002*T*T*T;
Ps = 281.2208333+1.719175*T+0.0004527*T*T+0.000003*T*T*T;
sigma = 23.452294-0.0130125*T-0.000002*T*T;
S = S*pi/180;
h = H*pi/180;
p = P*pi/180;
N = N*pi/180;
ps = Ps*pi/180;
e = sigma*pi/180;
crm = 1+0.0545*cos(S-p)+0.0030*cos(2*(S-p))+0.01*cos(S-2*h+p)+0.0082*cos(2*(S-h))...
+0.0006*cos(2*S-3*h+ps)+0.0009*cos(3*S-2*h-p);
Lambdam = S+0.0222*sin(S-2*h+p)+0.1098*sin(S-p)+0.0115*sin(2*S-2*h)+0.0037*sin(2*S-2*p)...
        -0.0032*sin(h-ps)-0.001*sin(2*h-2*p)+0.001*sin(S-3*h+p+ps)+0.0007*sin(S-h-p+ps)...
        -0.0006*sin(S-h)-0.0005*sin(S+h-p-ps)+0.0008*sin(2*S-3*h+ps)-0.002*sin(2*S-2*N)...
        +0.0009*sin(3*S-2*h-p);
Beltam = 0.003*sin(S-2*h+N)+0.0895*sin(S-N)+0.0049*sin(2*S-p-N)-0.0048*sin(p-N)...
    -0.0008*sin(2*h-p-N)+0.001*sin(2*S-2*h+p-N)+0.0006*sin(3*S-2*h-N);
Delta = sin(e)*sin(Lambdam)*cos(Beltam)+cos(e)*sin(Beltam);
Theta = ((t-8)*(15*pi/180.0))+h+Longtitude-pi;
H = cos(Beltam)*cos(Lambdam)*cos(Theta)+sin(Theta)*(cos(e)*cos(Beltam)*sin(Lambdam)-sin(e)*sin(Beltam));
Zm = sin(Phip)*Delta+cos(Phip)*H; 
crs = 1+0.0168*cos(h-ps)+0.0003*cos(2*h-2*ps);
Lambdas = h+0.0335*sin(h-ps)+0.0004*sin(2*h-2*ps);
Beltas = 0.0;
Zs = sin(Phip)*sin(e)*sin(Lambdas)+cos(Phip)*(cos(Lambdas)*cos(Theta)+sin(Theta)*cos(e)*sin(Lambdas)); 
F = 0.998327+0.001676*cos(2*Phi);
Gt = -165.17*F*crm*crm*crm*(Zm*Zm-1.0/3.0)-1.3708*F*F*crm*crm*crm*crm*Zm*(5*Zm*Zm-3)-76.08*F*crs*crs*crs*(Zs*Zs-1.0/3.0);
deltag = Gt*1.16;
end
  • 儒略日计算Julian.m
function R=Julian(y,m,d)
% 儒略数
    yy = y-1900;
    mm = m-1;
    dd = d;
    w = floor(yy/4);
    if(y == 4*w & mm<2)
        dd=dd-1;
    end
    if mm == 0
        d1 = yy*365+w-0.5+mm+dd;
    else if (mm == 1)
            mm = 31;
            d1 = yy*365 + w - 0.5 + mm + dd;
        else
            mm = floor(mm*365/12)-floor(10/(4+mm));
            d1 = yy*365 + w - 0.5 + mm + dd;
        end
    end
    R=d1+2415020.0;
end
  • 计算例子main.m,计算2019.1.1-2019.1.10
clc
clear;
Longtitude=104;   Latitude=30.6;
date1 = [2019,1,1];
date2 = [2019,1,10];
amend= [];
kk = 1;
for i = 1:datenum(date2)-datenum(date1)
    date = datenum(date1) + i;
    for j = 0:23
        ymdh = datevec(date);
        ymdh(4) = j;
        ymdhnum(kk) = datenum(ymdh);
        amend = [amend,gravity_earthtide(ymdh,Longtitude,Latitude)];
        kk = kk+1;
    end
end
disp('========= complete =========');
plot(ymdhnum,amend)
datetick;

固体潮

  • 参考维基百科、百度百科、郜晓亮等重力固体潮理论计算文章
  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
固体发动机内弹道计算是通过使用Matlab程序来模拟和计算固体发动机的内弹道参数的过程。 首先,我们需要收集固体发动机的相关数据,包括燃料性能参数、发动机尺寸、燃烧时间、喷嘴几何形状等。这些数据将被输入到Matlab程序中。 其次,我们可以使用Matlab的数值计算工具,如ODE45函数来求解固体发动机内的飞行轨迹。我们可以建立一个动力学模型,考虑发动机燃烧过程和推力变化,同时也要考虑由于大气和重力影响下导致的速度、高度和位移的改变。 在计算中,我们需要考虑以下因素: 1. 发动机的质量流速:根据燃烧的速度和燃料质量来计算质量流速。这将决定发动机的推力。 2. 燃烧时间:根据发动机的设计和燃料的性能参数,我们可以计算出燃烧时间。这将用于确定飞行时间。 3. 发动机推力曲线:根据发动机的设计和燃料性能参数,我们可以计算出推力随时间的变化曲线。这将影响飞行轨迹。 4. 大气参数:我们需要考虑大气密度、温度和压力的变化对飞行轨迹的影响。 最后,使用Matlab编写的程序将计算固体发动机内的弹道参数,如速度、高度、位移等,并将结果显示在Matlab的工作区或绘图窗口。这些参数可以用于设计和优化固体发动机和相关的航天器。 总而言之,固体发动机内弹道计算Matlab程序可以帮助工程师和科学家们更好地理解和优化固体发动机的性能,并为航天器的设计和发射提供参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值