⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssts__tether_mmet_iii_mesh_discrete_number_stress_plot.m

📁 空间绳系卫星的仿真软件
💻 M
字号:
function [ stress_list ]= SSTS__tether_MMET_III_mesh_discrete_number_stress_plot(N_number,ro,sectional_area,length,Mp,velocity_psi,steps)

% /*M-FILE Function SSTS__tether_MMET_III_mesh_discrete_number_stress_plot MMM SSTSLAB */
% /*==================================================================================================
%  Simple Space Tether Simulation Laboratory Toolbox for Matlab 7.x
%
%  Copyright 2007 The SxLAB Family - Yi Chen - leo.chen.yi@gmail.com
% ====================================================================================================
%File description:
%
% to plot a 3D mesh graph of angular_velocity-location-stress
%
% Input:
%     N_number       = 20; in MMET-III, number of point masses
%     ro             = 970;           % tether density - kg/(m^3)
%     sectional_area = 62.83*10^(-6); % tether cross-section - m^2
%     length         = 5000;          % tether length - m
%     Mp             = 500;           % kg
%     velocity_psi   = 65000;         % angular velocity - rad/s
%
% Output:
% force_list -- force list matrix
%
% Example:
%  [ force_list ]= SSTS__tether_MMET_III_mesh_discrete_number_stress_plot( 5 )
%
% force_list =
%
%   1.0e+016 *
%
%          0       NaN       NaN       NaN       NaN
%     0.6086    0.6086       NaN       NaN       NaN
%     0.8472         0    0.8472       NaN       NaN
%     0.9732    0.2842    0.2842    0.9732       NaN
%     1.0510    0.4740         0    0.4740    1.0510
%
%
%===================================================================================================
%  See Also:   SSTS__tether_MMET_II_discrete_number
%
%===================================================================================================
%
%===================================================================================================
%Revision -
%Date        Name    Description of Change email                 Location
%22-Jan-2007 Yi Chen Initial version       leo.chen.yi@gmail.com Glasgow
%HISTORY$
%==================================================================================================*/

% SSTS__tether_MMET_III_mesh_discrete_number_stress_plot Begin
clear
home
if ( nargin == 0 )
    N_number       = 20;
    ro             = 970;           % tether density - kg/(m^3)
    sectional_area = 62.83*10^(-6); % tether cross-section - m^2
    length         = 5000;          % tether length - m
    Mp             = 1000;           % kg
    velocity_psi   = 65000;         % angular velocity - rad/s
    steps          = 10;            % step for angular velocity
end

if ( nargin == 1 )
    ro             = 970;           % tether density - kg/(m^3)
    sectional_area = 62.83*10^(-6); % tether cross-section - m^2
    length         = 5000;          % tether length - m
    Mp             = 1000;           % kg
    velocity_psi   = 65000;         % angular velocity - rad/s
    steps          = 10;          % step for angular velocity
end

[stress_list] = SSTS__tether_MMET_III_discrete_number_stress(N_number,ro,sectional_area,length,Mp,velocity_psi);

close('all');

%  figure
%  stem (stress_list);
%  xlabel('Number of point masses - Number');
%  ylabel('Stress on point masses - Stress(N/m) ');


mesh_stress(velocity_psi,length,N_number,Mp,ro,sectional_area,steps);
% SSTS__tether_MMET_III_mesh_discrete_number_stress_plot End


function [] = mesh_stress(max_vel,length,N_number,M0,ro,A,steps)

%lx is the location of point mass
lx = SSTS__tether_MMET_II_discrete_number(N_number)*(length*2);
lx = lx(N_number,:);% 1:N_number

% steps = max_vel/(N_number);

vel_psi = 0:steps:max_vel;
[ vel_number ]= size(vel_psi,2);

for idx = 1 : 1 : N_number
    for jdx = 1 : 1 : vel_number
        % force
        stress(idx,jdx) = vel_psi(jdx)^2*location(idx,length,N_number)*(M0 + ro*A*location(idx,length,N_number)/2);
        % stress = force/A
        stress(idx,jdx) = stress(idx,jdx)/A;
    end
end

%to plot mesh graph
close('all');
figure
meshc(vel_psi,lx,stress);
colorbar
% contour3(vel_psi,lx,stress,30)
% surface(vel_psi,lx,stress,'EdgeColor',[.8 .8 .8],'FaceColor','none')
% colorbar('YTickLabel',...
%     {'Min','Cold','Cool','Neutral',...
%      'Warm','Hot','Burning','MAX'});

% grid off
% view(-15,25)
colormap cool

xlabel( 'Angular Velocity of \psi (rad/s)');
ylabel( 'Point Masses Location (m)');
zlabel( 'Tether Stress \sigma (Pa)' );
title('Tether Stress-Angular Velocity-Point Masses Location');

function [abs_loc] = location(idx,L0,N)

% idx -- index
% L   -- L = 2*L0, full length of 2 sub-tether
% L0  -- sub-tether length

L = 2*L0;
abs_loc = abs( ( 2*idx - 1 )*L/2/N - L0 );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -